| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793 | <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;" @click="handleExport">        <el-button class="export">导出</el-button>        <el-dropdown-menu slot="dropdown">          <el-dropdown-item @click.native="handleExportTemp">导出模板</el-dropdown-item>          <el-dropdown-item @click.native="handleExport">导出数据</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"        @selection-change="handleSelect"      >        <el-table-column type="selection" width="50" />        <el-table-column :key="1" label="序号" align="center" type="index" width="50px">          <template slot-scope="scope">            <span>{{ scope.$index + (table.pageNum-1) * table.pageSize + 1 }}</span>          </template>        </el-table-column>        <el-table-column :key="2" label="栏舍名称" min-width="100px" align="center">          <template slot-scope="scope">            <span>{{ scope.row.barname }}</span>          </template>        </el-table-column>        <el-table-column :key="3" label="软件牛头数" min-width="100px" align="center">          <template slot-scope="scope">            <span>{{ scope.row.softccount }}</span>          </template>        </el-table-column>        <el-table-column :key="4" label="实际牛头数" min-width="130px" align="center">          <template slot-scope="scope">            <span v-if="scope.row.NoEdit">{{ scope.row.ccount }}</span>            <el-input              v-if="scope.row.Edit"              v-model="scope.row.ccount"              type="number"              style="width:95%;padding:10px 0;"              @blur="blurCcount(scope.row)"            />          </template>        </el-table-column>        <el-table-column :key="5" label="系数(%)" min-width="130px" align="center">          <template slot-scope="scope">            <span v-if="scope.row.NoEdit">{{ scope.row.ratio }}</span>            <el-input              v-if="scope.row.Edit"              v-model="scope.row.ratio"              type="number"              style="width:95%;padding:10px 0;"              @blur="blurRatio(scope.row)"            />          </template>        </el-table-column>        <el-table-column :key="6" label="系数头数" min-width="130px" align="center">          <template slot-scope="scope">            <span v-if="scope.row.NoEdit">{{ scope.row.ccountratio }}</span>            <el-input              v-if="scope.row.Edit"              v-model="scope.row.ccountratio"              type="number"              style="width:95%;padding:10px 0;"              @blur="blurCcountratio(scope.row)"            />          </template>        </el-table-column>        <el-table-column :key="7" label="配方模板" min-width="130px" align="center">          <template slot-scope="scope">            <span v-if="scope.row.NoEdit">{{ scope.row.ftname }}</span>            <el-select              v-if="scope.row.Edit"              v-model="scope.row.ftid"              filterable              placeholder="配方模板"              class="filter-item"              style="width:95%;padding:10px 0;"              @change="(value)=> {changeRecipeTemplate(value, scope.row)}"            >              <el-option v-for="item 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"              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"              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"              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"              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"              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"              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"              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"              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"              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"                  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"                  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"                  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"                  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" :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.isTwoWeight"                  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"                  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" :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"                  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"                  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" :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"                  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"                  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" :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"                  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="cancel" @click="history.dialogFormVisible = false; ">关闭</el-button>        </div>      </div>    </el-dialog>    <!-- 营养评估 -->    <el-dialog :title="textMap[nutritional.dialogStatus]" :destroy-on-close="true" :visible.sync="nutritional.dialogFormVisible" :close-on-click-modal="false" width="90%">      <div class="app-nutritional">        <h4 style="position: absolute;top:-5px;left:140px;font:18px/24px '' ;color:#303133;">栏舍:</h4>        <el-form          ref="nutritional.temp"          :rules="nutritional.rules"          :model="nutritional.temp"          label-position="right"          label-width="95px"          style="width: 100%;margin-bottom:30px"        >          <el-row>            <el-col :span="4">              <el-form-item label="类别" prop="eqClassName">                <el-select v-model="nutritional.temp.eqClassName" filterable placeholder="" class="filter-item" style="width:100%;">                  <el-option v-for="item in livestockTypeList" :key="item.id" :label="item.name" :value="item.name" />                </el-select>              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="月龄" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="体重(kg)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="日增重(kg)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="胎次(次)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="泌乳天数(天)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  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="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="产奶量(kg)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="乳脂率(%)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="乳蛋白率(%)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="乳糖率(%)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>            <el-col :span="4">              <el-form-item label="温度(℃)" prop="eqClassName">                <el-input                  ref="eqClassName"                  v-model="nutritional.temp.eqClassName"                  class="filter-item"                  placeholder=""                  style="width:100%;"                />              </el-form-item>            </el-col>          </el-row>        </el-form>        <div style="position: relative;height: 50px;">          <el-button            class="success"            :disabled="isokDisable"            style="position: absolute;left: 0;right: 0;margin:0 auto;"            @click="assessmentData()"          >评估</el-button>        </div>        <div class="table">          <el-table            :key="nutritional.tableKey"            v-loading="nutritional.listLoading"            element-loading-text="给我一点时间"            :data="nutritional.list"            border            fit            highlight-current-row            style="width: 100%;margin-bottom:60px;"            :row-style="rowStyle"            :cell-style="cellStyle"            class="elTable table-fixed"          >            <el-table-column type="selection" width="50" />            <el-table-column label="序号" align="center" type="index" width="50px">              <template slot-scope="scope">                <span>{{ scope.$index + (nutritional.pageNum-1) * nutritional.pageSize + 1 }}</span>              </template>            </el-table-column>            <el-table-column label="指标" min-width="130px" align="center">              <template slot-scope="scope">                <span>{{ scope.row.brandName }}</span>              </template>            </el-table-column>            <el-table-column label="奶牛需要" min-width="130px" align="center">              <template slot-scope="scope">                <span>{{ scope.row.brandName }}</span>              </template>            </el-table-column>            <el-table-column label="饲料提供" min-width="130px" align="center">              <template slot-scope="scope">                <span>{{ scope.row.brandName }}</span>              </template>            </el-table-column>            <el-table-column label="实际执行" min-width="130px" align="center">              <template slot-scope="scope">                <span>{{ scope.row.brandName }}</span>              </template>            </el-table-column>            <el-table-column label="相差" min-width="130px" align="center">              <template slot-scope="scope">                <span>{{ scope.row.brandName }}</span>              </template>            </el-table-column>            <el-table-column label="粗料提供" min-width="130px" align="center">              <template slot-scope="scope">                <span>{{ scope.row.brandName }}</span>              </template>            </el-table-column>            <el-table-column label="精料提供" min-width="130px" align="center">              <template slot-scope="scope">                <span>{{ scope.row.brandName }}</span>              </template>            </el-table-column>          </el-table>        </div>        <div slot="footer" class="dialog-footer">          <el-button class="cancel" @click="nutritional.dialogFormVisible = false; ">关闭</el-button>        </div>      </div>    </el-dialog>  </div></template><script>import { GetDataByName, GetDataByNames, ExecDataByConfig, failproccess, PostDataByName } from '@/api/common'import Pagination from '@/components/Pagination'import { parseTime } from '@/utils/index.js'import { MessageBox } from 'element-ui'import Cookies from 'js-cookie'export default {  name: 'DhedFormula',  components: { Pagination },  data() {    return {      requestParams: [{        name: 'getFTSWList',        offset: 0,        pagecount: 0,        parammaps: {          pastureid: Cookies.get('pastureid')        }      },      {        name: 'getFTBLList',        offset: 0,        pagecount: 0,        parammaps: {          pastureid: Cookies.get('pastureid')        }      }      ],      recipeTemplateList: [], // 配方模板      feedingFormulaList: [], // 补料配方      livestockTypeList: [{        id: 0,        name: '高产'      }, {        id: 1,        name: '低产'      }, {        id: 2,        name: '中产'      }, {        id: 3,        name: '青年后备'      }, {        id: 4,        name: '围产'      }], // 类别      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: '',        temp: {},        rules: {},        tableKey: 0,        list: [],        total: 0,        listLoading: true,        getdataListParm: {          name: 'getAssetList',          page: 1,          offset: 1,          pagecount: 10,          returntype: 'Map',          parammaps: {            enable: ''          }        }      },      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      })    },    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 = response.data.list[i].sumr.toFixed(2)          }          this.table.list = response.data.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) {      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      // 投喂量 = 配方重量 + 补料重量      if (row.supplyweight !== '' && row.ftweight !== '') { //        row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)      } else if (row.supplyweight == '' && row.ftweight !== '') { //        row.feedweight = parseFloat(row.ftweight)      } else if (row.supplyweight !== '' && row.ftweight !== '') {        row.feedweight = parseFloat(row.supplyweight)      }      // 配方重量 = Sfweight * 系数头数 + SfweightLock * 实际牛头数ccount      if (row.Sfweight !== '' && row.ccount !== '') {        row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)      } else {        row.ftweight = ''      }      if (this.table.isPtsfname == false) {        row.feedweight = parseFloat(row.ftweight)      } else {        if (row.supplyweight !== '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)        } else if (row.supplyweight == '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.ftweight)        } else if (row.supplyweight !== '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.supplyweight)        }        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)        }      }    },    // 补料配方    changeFeedingFormula(item, row) {      // 补料重量supplyweight      // 配方重量ftweight      // 系数头数ccountratio      // 投喂量feedweight      // 实际牛头数ccount      // 投喂量 = 配方重量 + 补料重量      row.ptsfname = this.feedingFormulaList.find(obj => obj.id == item).tname      row.BLweight = this.feedingFormulaList.find(obj => obj.id == item).Sfweight      if (row.supplyweight !== '' && row.ftweight !== '') {        row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)      } else if (row.supplyweight == '' && row.ftweight !== '') {        row.feedweight = parseFloat(row.ftweight)      } else if (row.supplyweight !== '' && row.ftweight == '') {        row.feedweight = parseFloat(row.supplyweight)      }      // 配方重量 = 系数头数 * Sfweight      if (row.ccountratio !== '' && row.ftweight !== '') {        row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)      }      // 补料重量 = 系数头数 * BLweight      if (row.ccountratio !== '' && row.BLweight !== '') {        row.supplyweight = parseFloat(row.BLweight) * parseFloat(row.ccountratio)      }      if (this.table.isPtsfname == false) {        row.feedweight = parseFloat(row.ftweight)      } else {        if (row.supplyweight !== '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)        } else if (row.supplyweight == '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.ftweight)        } else if (row.supplyweight !== '' && row.ftweight == '') {          row.feedweight = parseFloat(row.supplyweight)        }        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)        }      }    },    // 实际牛头数失去焦点计算    // ccount实际牛头数    // ratio系数    // ccountratio系数牛头数    blurCcount(row) { // 实际牛头数      if (row.ftid !== '-1' && row.ftid !== '') {        row.Sfweight = this.recipeTemplateList.find(obj => obj.id == row.ftid).Sfweight      }      if (row.ptsfid !== '-1' && row.ptsfid !== '') {        row.BLweight = this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight      }      if (row.Sfweight !== '' && row.ccount !== '') {        row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio) + parseFloat(row.SfweightLock) * parseFloat(row.ccount)      }      // 系数牛头数 = 实际牛头数 * 系数/100      if (row.ccount !== '' && row.ratio !== '') {        row.ccountratio = parseFloat(row.ccount) * parseFloat(row.ratio) / 100      } else if (row.ratio !== '' && row.ccountratio !== '') {        row.ccount = parseFloat(row.ccountratio) * 100 / parseFloat(row.ratio) / 100      } else if (row.ccount !== '' || row.ratio !== '') {        row.ccountratio = ''      }      // 补料重量      if (row.ccountratio !== '' && row.BLweight !== '') {        row.supplyweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)      } else if (row.ccountratio !== '' && row.BLweight == '') {        row.supplyweight = ''        row.feedweight = ''      } else if (row.ccountratio == '' && row.BLweight !== '') {        row.supplyweight = ''        row.feedweight = ''      }      // 配方重量      if (row.ccountratio !== '' && row.Sfweight !== '') {        row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)      } else if (row.ccountratio !== '' && row.Sfweight == '') {        row.ftweight = ''        row.feedweight = ''      } else if (row.ccountratio == '' && row.Sfweight !== '') {        row.ftweight = ''        row.feedweight = ''      }      if (this.table.isPtsfname == false) {        row.feedweight = parseFloat(row.ftweight)      } else {        if (row.supplyweight !== '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)        } else if (row.supplyweight !== '' && row.ftweight == '') {          row.feedweight = parseFloat(row.supplyweight)        } else if (row.supplyweight == '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.ftweight)        }        // 配方重量 = 系数头数 * Sfweight        if (row.ccountratio !== '' && row.ftweight !== '') {          row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)        }        // 补料重量 = 系数头数 * BLweight        if (row.ccountratio !== '' && row.BLweight !== '') {          row.supplyweight = parseFloat(row.BLweight) * parseFloat(row.ccountratio)        }      }    },    blurRatio(row) {      console.log(row)      if (row.ftid !== '-1' && row.ftid !== '') {        row.Sfweight = this.recipeTemplateList.find(obj => obj.id == row.ftid).Sfweight      }      if (row.ptsfid !== '-1' && row.ptsfid !== '') {        row.BLweight = this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight      }      // 系数      if (row.ccount !== '' && row.ratio !== '' && row.ccountratio !== '') {        row.ccountratio = parseFloat(row.ccount) * parseFloat(row.ratio) / 100      } else if (row.ccount !== '' && row.ccountratio !== '') {        row.ratio = parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount)      } else if (row.ccount !== '' || row.ccountratio !== '') {        row.ratio = ''      }      // 补料重量      if (row.ccountratio !== '' && row.BLweight !== '') {        row.supplyweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)      } else if (row.ccountratio !== '' && row.BLweight == '') {        row.supplyweight = ''        row.feedweight = ''      } else if (row.ccountratio == '' && row.BLweight !== '') {        row.supplyweight = ''        row.feedweight = ''      }      // 配方重量      if (row.ccountratio !== '' && row.Sfweight !== '') {        row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)      } else if (row.ccountratio !== '' && row.Sfweight == '') {        row.ftweight = ''        row.feedweight = ''      } else if (row.ccountratio == '' && row.Sfweight !== '') {        row.ftweight = ''        row.feedweight = ''      }      // 投喂量      if (row.supplyweight !== '' && row.ftweight !== '') {        row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)      } else if (row.supplyweight == '' && row.ftweight !== '') {        row.feedweight = parseFloat(row.ftweight)      } else if (row.supplyweight !== '' && row.ftweight == '') {        row.feedweight = parseFloat(row.supplyweight)      }      if (this.table.isPtsfname == false) {        row.feedweight = parseFloat(row.ftweight)      } else {        // 投喂量        if (row.supplyweight !== '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)        } else if (row.supplyweight == '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.ftweight)        } else if (row.supplyweight !== '' && row.ftweight == '') {          row.feedweight = parseFloat(row.supplyweight)        }        // 补料重量        if (row.ccountratio !== '' && row.BLweight !== '') {          row.supplyweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)        } else if (row.ccountratio !== '' && row.BLweight == '') {          row.supplyweight = ''          row.feedweight = ''        } else if (row.ccountratio == '' && row.BLweight !== '') {          row.supplyweight = ''          row.feedweight = ''        }        // 配方重量        if (row.ccountratio !== '' && row.Sfweight !== '') {          row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)        } else if (row.ccountratio !== '' && row.Sfweight == '') {          row.ftweight = ''          row.feedweight = ''        } else if (row.ccountratio == '' && row.Sfweight !== '') {          row.ftweight = ''          row.feedweight = ''        }      }    },    blurCcountratio(row) {      if (row.ftid !== '-1' && row.ftid !== '') {        row.Sfweight = this.recipeTemplateList.find(obj => obj.id == row.ftid).Sfweight      }      if (row.ptsfid !== '-1' && row.ptsfid !== '') {        row.BLweight = this.feedingFormulaList.find(obj => obj.id == row.ptsfid).Sfweight      }      // 系数头数      if (row.ccountratio !== '' && row.ccount !== '' && row.ratio !== '') {        row.ratio = parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount)      } else if (row.ccount !== '' && row.ratio !== '') {        row.ccountratio = parseFloat(row.ccount) * parseFloat(row.ratio) / 100      } else if (row.ccountratio !== '' && row.ccount !== '') {        row.ratio = parseFloat(row.ccountratio) * 100 / parseFloat(row.ccount)      } else if (row.ccountratio !== '' && row.ratio !== '') {        row.ccount = parseFloat(row.ccountratio) * 100 / parseFloat(row.ratio) / 100      }      // 补料重量      if (row.ccountratio !== '' && row.BLweight !== '') {        row.supplyweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)      } else if (row.ccountratio !== '' && row.BLweight == '') {        row.supplyweight = ''        row.feedweight = ''      } else if (row.ccountratio == '' && row.BLweight !== '') {        row.supplyweight = ''        row.feedweight = ''      }      // 配方重量      if (row.ccountratio !== '' && row.Sfweight !== '') {        row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)      } else if (row.ccountratio !== '' && row.Sfweight == '') {        row.ftweight = ''        row.feedweight = ''      } else if (row.ccountratio == '' && row.Sfweight !== '') {        row.ftweight = ''        row.feedweight = ''      }      // 投喂量      if (row.supplyweight !== '' && row.ftweight !== '') {        row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)      } else if (row.supplyweight == '' && row.ftweight !== '') {        row.feedweight = parseFloat(row.ftweight)      } else if (row.supplyweight !== '' && row.ftweight == '') {        row.feedweight = parseFloat(row.supplyweight)      }      if (this.table.isPtsfname == false) {        console.log(row)        row.feedweight = parseFloat(row.ftweight)      } else {        // 投喂量        if (row.supplyweight !== '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.supplyweight) + parseFloat(row.ftweight)        } else if (row.supplyweight == '' && row.ftweight !== '') {          row.feedweight = parseFloat(row.ftweight)        } else if (row.supplyweight !== '' && row.ftweight == '') {          row.feedweight = parseFloat(row.supplyweight)        }        // 补料重量        if (row.ccountratio !== '' && row.BLweight !== '') {          row.supplyweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)        } else if (row.ccountratio !== '' && row.BLweight == '') {          row.supplyweight = ''          row.feedweight = ''        } else if (row.ccountratio == '' && row.BLweight !== '') {          row.supplyweight = ''          row.feedweight = ''        }        // 配方重量        if (row.ccountratio !== '' && row.Sfweight !== '') {          row.ftweight = parseFloat(row.Sfweight) * parseFloat(row.ccountratio)        } else if (row.ccountratio !== '' && row.Sfweight == '') {          row.ftweight = ''          row.feedweight = ''        } else if (row.ccountratio == '' && row.Sfweight !== '') {          row.ftweight = ''          row.feedweight = ''        }      }    },    // 总比例    blurR(row) {      if (row.r1 == '') { row.r1 = 0 }      if (row.r2 == '') { row.r2 = 0 }      if (row.r3 == '') { row.r3 = 0 }      if (row.r4 == '') { row.r4 = 0 }      if (row.r1 !== '') {        row.w1 = parseFloat(row.feedweight) * parseFloat(row.r1) / 100        row.w1 = row.w1.toFixed(2)      }      if (row.r2 !== '') {        row.w2 = parseFloat(row.feedweight) * parseFloat(row.r2) / 100        row.w2 = row.w2.toFixed(2)      }      if (row.r3 !== '') {        row.w3 = parseFloat(row.feedweight) * parseFloat(row.r3) / 100        row.w3 = row.w3.toFixed(2)      }      if (row.r4 !== '') {        row.w4 = parseFloat(row.feedweight) * parseFloat(row.r4) / 100        row.w4 = row.w4.toFixed(2)      }      this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4))    },    // 一班重量得到焦点    focusW(row) {      console.log(row)      this.focusWRow = Object.assign({}, row)    },    // 1班重量得到焦点    focusW2(row) {      console.log(row)      this.focusWRow2 = Object.assign({}, row)    },    // 3班重量得到焦点    focusW3(row) {      console.log(row)      this.focusWRow3 = Object.assign({}, row)    },    // 4班重量得到焦点    focusW4(row) {      console.log(row)      this.focusWRow4 = Object.assign({}, row)    },    // 一班重量    blurW(row) {      if (row.w1 == '') {        row.w1 = 0      }      if (row.w2 == '') {        row.w2 = 0      }      if (row.w3 == '') {        row.w3 = 0      }      if (row.w4 == '') {        row.w4 = 0      }      if (row.r1 == '') {        row.r1 = 0      }      if (row.r2 == '') {        row.r2 = 0      }      if (row.r3 == '') {        row.r3 = 0      }      if (row.r4 == '') {        row.r4 = 0      }      // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4)      console.log(row, '=======投喂量feedweight')      // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight      if (this.table.RWLength == 4) {        // 2班3班4班都锁定        if (row.isTwoWeight == true && row.isThreeWeight == true && row.isFourWeight == true) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          this.$set(row, 'sumr', parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4))        }        // 2班3班锁定4班未锁定        if (row.isTwoWeight == true && row.isThreeWeight == true && row.isFourWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班4班锁定3班未锁定        if (row.isTwoWeight == true && row.isFourWeight == true && row.isThreeWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 3班4班锁定2班未锁定        if (row.isTwoWeight == false && row.isThreeWeight == true && row.isFourWeight == true) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)          row.r2 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班锁定,3班4班未锁        if (row.isTwoWeight == true && row.isThreeWeight == false && row.isFourWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r4))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 3班锁定,2班4班未锁        if (row.isTwoWeight == false && row.isThreeWeight == true && row.isFourWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r4))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 4班锁定,2班3班未锁        if (row.isTwoWeight == false && row.isThreeWeight == false && row.isFourWeight == true) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班3班4班未锁        if (row.isTwoWeight == false && row.isThreeWeight == false && row.isFourWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }      } else if (this.table.RWLength == 3) {        // 三班        // 2班/3班锁定        if (row.isTwoWeight == true && row.isThreeWeight == true) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 2班不锁3班锁        if (row.isTwoWeight == false && row.isThreeWeight == true) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 3班不锁2班锁        if (row.isTwoWeight == true && row.isThreeWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 2班3班都不锁        if (row.isTwoWeight == false && row.isThreeWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r2) / (parseFloat(row.r2) + parseFloat(row.r3))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }      } else if (this.table.RWLength == 2) {        // 两班isOneWeight,isTwoWeight        if (row.w1 == '') { row.w1 = 0 }        if (row.w2 == '') { row.w2 = 0 }        if (row.r1 == '') { row.r1 = 0 }        if (row.r2 == '') { row.r2 = 0 }        if (row.isTwoWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1)).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) { row.w2 = 0; row.r2 = 0 }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2)).toFixed(2))        } else {          row.r1 = parseFloat(row.w1) / parseFloat(row.feedweight) * 100          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2)).toFixed(2))        }      }    },    blurW2(row) {      // 2班重量      if (row.w1 == '') {        row.w1 = 0      }      if (row.w2 == '') {        row.w2 = 0      }      if (row.w3 == '') {        row.w3 = 0      }      if (row.w4 == '') {        row.w4 = 0      }      if (row.r1 == '') {        row.r1 = 0      }      if (row.r2 == '') {        row.r2 = 0      }      if (row.r3 == '') {        row.r3 = 0      }      if (row.r4 == '') {        row.r4 = 0      }      // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4)      console.log(row, '=======投喂量feedweight')      // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight      if (this.table.RWLength == 4) {        // 四班        // 1班3班4班都锁定        if (row.isOneWeight == true && row.isThreeWeight == true && row.isFourWeight == true) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 1班3班锁定4班未锁定        if (row.isOneWeight == true && row.isThreeWeight == true && row.isFourWeight == false) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 1班4班锁定3班未锁定        if (row.isOneWeight == true && row.isFourWeight == true && row.isThreeWeight == false) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 3班4班锁定1班未锁定        if (row.isOneWeight == false && row.isThreeWeight == true && row.isFourWeight == true) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)          row.r1 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 1班锁定,3班4班未锁        if (row.isOneWeight == true && row.isThreeWeight == false && row.isFourWeight == false) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r4))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 3班锁定,1班4班未锁        if (row.isOneWeight == false && row.isThreeWeight == true && row.isFourWeight == false) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r2))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 4班锁定,1班3班未锁        if (row.isOneWeight == false && row.isThreeWeight == false && row.isFourWeight == true) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r3))).toFixed(2)          row.r1 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r3))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 1班3班4班未锁        if (row.isOneWeight == false && row.isThreeWeight == false && row.isFourWeight == false) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }      } else if (this.table.RWLength == 3) {        // 三班        // 1班/3班锁定        if (row.isOneWeight == true && row.isThreeWeight == true) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 1班不锁3班锁        if (row.isOneWeight == false && row.isThreeWeight == true) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 3班不锁1班锁        if (row.isOneWeight == true && row.isThreeWeight == false) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2)).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 1班3班都不锁        if (row.isOneWeight == false && row.isThreeWeight == false) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r3))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow2.r1) + parseFloat(row.r3))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }      } else if (this.table.RWLength == 2) {        // 两班        if (row.isTwoWeight == false) {          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2))          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) { row.w1 = 0; row.r1 = 0 }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2)).toFixed(2))        } else {          row.r2 = parseFloat(row.w2) / parseFloat(row.feedweight) * 100          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2)).toFixed(2))        }      }    },    blurW3(row) {      // 3班重量      if (row.w1 == '') {        row.w1 = 0      }      if (row.w2 == '') {        row.w2 = 0      }      if (row.w3 == '') {        row.w3 = 0      }      if (row.w4 == '') {        row.w4 = 0      }      if (row.r1 == '') {        row.r1 = 0      }      if (row.r2 == '') {        row.r2 = 0      }      if (row.r3 == '') {        row.r3 = 0      }      if (row.r4 == '') {        row.r4 = 0      }      // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4)      console.log(row, '=======投喂量feedweight')      // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight      if (this.table.RWLength == 4) {        // 四班        // 1班2班4班都锁定        if (row.isOneWeight == true && row.isTwoWeight == true && row.isFourWeight == true) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 1班2班锁定4班未锁定        if (row.isOneWeight == true && row.isTwoWeight == true && row.isFourWeight == false) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班4班锁定1班未锁定        if (row.isOneWeight == false && row.isTwoWeight == true && row.isFourWeight == true) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 1班4班锁定2班未锁定        if (row.isTwoWeight == false && row.isOneWeight == true && row.isFourWeight == true) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100)          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)          row.r2 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班锁定,1班4班未锁        if (row.isTwoWeight == true && row.isOneWeight == false && row.isFourWeight == false) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r4))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 1班锁定,2班4班未锁        if (row.isTwoWeight == false && row.isOneWeight == true && row.isFourWeight == false) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r4))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 4班锁定,2班1班未锁        if (row.isTwoWeight == false && row.isOneWeight == false && row.isFourWeight == true) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w3) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r1) + parseFloat(row.r2))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班1班4班未锁        if (row.isTwoWeight == false && row.isOneWeight == false && row.isFourWeight == false) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w4 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r4) / (parseFloat(this.focusWRow.r1) + parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r4))).toFixed(2)          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w4 <= 0) {            row.w4 = 0            row.r4 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }      } else if (this.table.RWLength == 3) {        // 三班        // 1班/2班锁定        if (row.isOneWeight == true && row.isTwoWeight == true) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 1班不锁2班锁        if (row.isOneWeight == false && row.isTwoWeight == true) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 3班不锁2班锁        // 2班不锁1班锁        if (row.isOneWeight == true && row.isTwoWeight == false) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3)).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }        // 2班3班都不锁        // 1班2班都不锁        if (row.isOneWeight == false && row.isTwoWeight == false) {          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(row.r1) + parseFloat(row.r2))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow3.r1) + parseFloat(row.r2))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3)).toFixed(2))        }      }    },    blurW4(row) {      if (row.w1 == '') {        row.w1 = 0      }      if (row.w2 == '') {        row.w2 = 0      }      if (row.w3 == '') {        row.w3 = 0      }      if (row.w4 == '') {        row.w4 = 0      }      if (row.r1 == '') {        row.r1 = 0      }      if (row.r2 == '') {        row.r2 = 0      }      if (row.r3 == '') {        row.r3 = 0      }      if (row.r4 == '') {        row.r4 = 0      }      // row.ftweight = parseFloat(row.w1) + parseFloat(row.w2) + parseFloat(row.w3) + parseFloat(row.w4)      console.log(row, '=======投喂量feedweight')      // isOneWeight,isTwoWeight,isThreeWeight,isFourWeight      if (this.table.RWLength == 4) {        // 四班        // 1班2班3班都锁定        if (row.isOneWeight == true && row.isTwoWeight == true && row.isThreeWeight == true) {          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班3班锁定1班未锁定        if (row.isOneWeight == false && row.isTwoWeight == true && row.isThreeWeight == true) {          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = (parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2) - parseFloat(row.w3)).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班1班锁定3班未锁定        if (row.isOneWeight == true && row.isTwoWeight == true && row.isThreeWeight == false) {          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w2) - parseFloat(row.w4)).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 3班1班锁定2班未锁定        if (row.isOneWeight == true && row.isTwoWeight == false && row.isThreeWeight == true) {          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = (parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w3) - parseFloat(row.w4)).toFixed(2)          row.r2 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班锁定,3班1班未锁        if (row.isOneWeight == false && row.isTwoWeight == true && row.isThreeWeight == false) {          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w2)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r3) + parseFloat(row.r1))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 3班锁定,2班1班未锁        if (row.isOneWeight == false && row.isTwoWeight == false && row.isThreeWeight == true) {          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r1))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w4) - parseFloat(row.w3)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r1))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 1班锁定,2班3班未锁        if (row.isOneWeight == true && row.isTwoWeight == false && row.isThreeWeight == false) {          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w1) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(row.r3))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }        // 2班3班1班未锁        if (row.isOneWeight == false && row.isTwoWeight == false && row.isThreeWeight == false) {          row.r4 = (parseFloat(row.w4) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w1 = ((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r1) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)          row.r1 = (parseFloat(row.w1) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w2 = ((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r2) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)          row.r2 = (parseFloat(row.w2) / parseFloat(row.feedweight) * 100).toFixed(2)          row.w3 = ((parseFloat(row.feedweight) - parseFloat(row.w4)) * parseFloat(row.r3) / (parseFloat(this.focusWRow.r2) + parseFloat(this.focusWRow.r3) + parseFloat(this.focusWRow.r1))).toFixed(2)          row.r3 = (parseFloat(row.w3) / parseFloat(row.feedweight) * 100).toFixed(2)          if (row.w1 <= 0) {            row.w1 = 0            row.r1 = 0          }          if (row.w2 <= 0) {            row.w2 = 0            row.r2 = 0          }          if (row.w3 <= 0) {            row.w3 = 0            row.r3 = 0          }          this.$set(row, 'sumr', (parseFloat(row.r1) + parseFloat(row.r2) + parseFloat(row.r3) + parseFloat(row.r4)).toFixed(2))        }      }    },    // 编辑    handleUpdate(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)      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)      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'] = row['r' + i]        arr.push(obj)      }      if (row.ptsfid == '') {        row.ptsfid = '-1'      }      if (row.supplyweight == '') {        row.supplyweight = '0'      }      if (this.table.isPtsfname == false) {        row.supplyweight = '0'      }      this.table.rwList = arr      console.log('点击了编辑保存', row)      this.table.temp.pastureid = row.pastureid      this.table.temp.id = row.id      this.table.temp.barname = row.barname      this.table.temp.barid = row.barid      this.table.temp.ccount = row.ccount      this.table.temp.ratio = row.ratio      this.table.temp.ccountratio = row.ccountratio      this.table.temp.ftid = row.ftid      this.table.temp.ftname = row.ftname      this.table.temp.ptsfid = row.ptsfid      this.table.temp.ptsfname = row.ptsfname      this.table.temp.ftweight = row.ftweight      this.table.temp.supplyweight = row.supplyweight      this.table.temp.feedweight = row.feedweight      this.table.temp.owner = row.owner      this.table.temp.sumr = row.sumr      if (row.softccount == '') {        row.softccount = 0      }      if (row.r1 == '') {        row.r1 = 0      }      if (row.r2 == '') {        row.r2 = 0      }      if (row.r3 == '') {        row.r3 = 0      }      if (row.r4 == '') {        row.r4 = 0      }      if (row.w1 == '') {        row.w1 = 0      }      if (row.w2 == '' || row.w4 == NaN) {        row.w2 = 0      }      if (row.w3 == '' || row.w4 == NaN) {        row.w3 = 0      }      if (row.w4 == '' || row.w4 == NaN) {        row.w4 = 0      }      console.log(row, '===========')      this.table.temp.softccount = row.softccount      this.table.temp.r1 = row.r1      this.table.temp.r2 = row.r2      this.table.temp.r3 = row.r3      this.table.temp.r4 = row.r4      this.table.temp.w1 = row.w1      this.table.temp.w2 = row.w2      this.table.temp.w3 = row.w3      this.table.temp.w4 = row.w4      if (this.table.temp.ccount == '' && this.table.temp.ratio == '' && this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {        this.$message({          type: 'error',          message: '实际牛头数/系数/系数头数/配方模版不能为空',          duration: 2000        })        return false      }      if (this.table.temp.ratio == '' && this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {        this.$message({          type: 'error',          message: '系数/系数头数/配方模版不能为空',          duration: 2000        })        return false      }      if (this.table.temp.ccountratio == '' && this.table.temp.ftid == '') {        this.$message({          type: 'error',          message: '系数头数/配方模版不能为空',          duration: 2000        })        return false      }      if (this.table.temp.ccount == '') {        this.$message({          type: 'error',          message: '实际牛头数不能为空',          duration: 2000        })        return false      }      if (this.table.temp.ratio == '') {        this.$message({          type: 'error',          message: '系数不能为空',          duration: 2000        })        return false      }      if (this.table.temp.ccountratio == '') {        this.$message({          type: 'error',          message: '系数头数不能为空',          duration: 2000        })        return false      }      if (this.table.temp.ftid == '') {        this.$message({          type: 'error',          message: '配方模版不能为空',          duration: 2000        })        return false      }      const positiveInteger = /^[1-9]\d*$/      if (!positiveInteger.test(parseFloat(this.table.temp.ccount))) {        this.$message({          type: 'error',          message: '实际牛头数请输入正整数',          duration: 2000        })        return false      }      if (!positiveInteger.test(parseFloat(this.table.temp.ratio))) {        this.$message({          type: 'error',          message: '系数请输入正整数',          duration: 2000        })        return false      }      if (!positiveInteger.test(parseFloat(this.table.temp.ratio))) {        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()    },    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 {        this.temp = this.selectList        this.nutritional.dialogStatus = 'Nutritional'        this.nutritional.dialogFormVisible = true        this.getList2()      }    },    assessmentData() {      console.log('评估保存')      this.getList2()    },    getList2() {      this.nutritional.listLoading = true      GetDataByName(this.nutritional.getdataListParm).then(response => {        console.log('table数据', response.data.list)        if (response.data.list !== null) {          this.nutritional.list = response.data.list          this.nutritional.pageNum = response.data.pageNum          this.nutritional.pageSize = response.data.pageSize          this.nutritional.total = response.data.total        } else {          this.nutritional.list = []        }        setTimeout(() => {          this.nutritional.listLoading = 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) {          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          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: '已取消应用'        })      })    },    // 导出模板    handleExportTemp() {      console.log('点击了导出模板')    },    // 导出    handleExport() {      console.log('点击了导出数据')    },    // 导入    handleImport() {      console.log('点击了导入')    }  }}</script><style lang="scss" scoped>  .search {    clear: both;  }  .table {    margin-top: 10px;  }</style>
 |