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