index.vue 136 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399
  1. <template>
  2. <div class="app-container" style="overflow-x: auto;">
  3. <!-- 操作栏 -->
  4. <el-form :inline="true" label-width="68px">
  5. <el-form-item label="报告年份" prop="reportDate">
  6. <el-date-picker
  7. clearable
  8. v-model="year"
  9. @change="handleQueryYear()"
  10. size="small"
  11. style="width: 200px"
  12. type="year"
  13. placeholder="选择报告年份"
  14. ></el-date-picker>
  15. </el-form-item>
  16. <el-form-item>
  17. <el-button
  18. type="warning"
  19. icon="el-icon-download"
  20. size="mini"
  21. v-hasPermi="['production:monthly:export']"
  22. >导出</el-button>
  23. </el-form-item>
  24. <el-form-item>
  25. <el-button
  26. type="primary"
  27. icon="el-icon-download"
  28. size="mini"
  29. v-hasPermi="['production:monthly:edit']"
  30. >开工锅炉公用工程单价维护</el-button>
  31. </el-form-item>
  32. </el-form>
  33. <!-- Cracker Raw Material -->
  34. <el-table border :data="tableCrackerRawMaterial" style="width: 100%;">
  35. <el-table-column label="Cracker Raw Material">
  36. <el-table-column width="150" prop="title" label="">
  37. <template slot-scope="scope">
  38. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  39. </template>
  40. </el-table-column>
  41. <el-table-column prop="unit" label="unit"></el-table-column>
  42. <el-table-column prop="currently" label="currently"></el-table-column>
  43. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  44. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  45. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  46. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  47. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  48. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  49. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  50. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  51. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  52. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  53. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  54. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  55. <el-table-column prop="total" label="total"></el-table-column>
  56. </el-table-column>
  57. </el-table>
  58. <!-- Cracker Output Product -->
  59. <el-table border :data="tableCrackerOutputProduct" style="width: 100%;">
  60. <el-table-column label="Cracker Output Product">
  61. <el-table-column width="150" prop="title" label="">
  62. <template slot-scope="scope">
  63. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  64. </template>
  65. </el-table-column>
  66. <el-table-column prop="unit" label="unit"></el-table-column>
  67. <el-table-column prop="currently" label="currently"></el-table-column>
  68. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  69. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  70. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  71. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  72. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  73. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  74. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  75. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  76. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  77. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  78. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  79. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  80. <el-table-column prop="total" label="total"></el-table-column>
  81. </el-table-column>
  82. </el-table>
  83. <!-- Aromatics Raw Material -->
  84. <el-table border :data="tableAromaticsRawMaterial" style="width: 100%;">
  85. <el-table-column label="Aromatics Raw Material">
  86. <el-table-column width="150" prop="title" label="">
  87. <template slot-scope="scope">
  88. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  89. </template>
  90. </el-table-column>
  91. <el-table-column prop="unit" label="unit"></el-table-column>
  92. <el-table-column prop="currently" label="currently"></el-table-column>
  93. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  94. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  95. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  96. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  97. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  98. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  99. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  100. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  101. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  102. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  103. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  104. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  105. <el-table-column prop="total" label="total"></el-table-column>
  106. </el-table-column>
  107. </el-table>
  108. <!-- Aromatics Output Product -->
  109. <el-table border :data="tableAromaticsOutputProduct" style="width: 100%;">
  110. <el-table-column label="Aromatics Output Product">
  111. <el-table-column width="150" prop="title" label="">
  112. <template slot-scope="scope">
  113. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  114. </template>
  115. </el-table-column>
  116. <el-table-column prop="unit" label="unit"></el-table-column>
  117. <el-table-column prop="currently" label="currently"></el-table-column>
  118. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  119. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  120. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  121. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  122. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  123. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  124. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  125. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  126. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  127. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  128. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  129. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  130. <el-table-column prop="total" label="total"></el-table-column>
  131. </el-table-column>
  132. </el-table>
  133. <!-- Eligible Product Rate -->
  134. <div class="editDiv">
  135. <el-button
  136. :disabled="eligibleProductRateUpdating"
  137. type="primary"
  138. icon="el-icon-edit"
  139. size="mini"
  140. @click="handleEligibleProductRateUpdate"
  141. v-hasPermi="['production:monthly:edit']"
  142. >{{ $t('编辑Eligible Product Rate') }}</el-button>
  143. <el-button
  144. :disabled="!eligibleProductRateUpdating"
  145. type="success"
  146. icon="el-icon-check"
  147. size="mini"
  148. @click="handleConfirmEligibleProductRateUpdate"
  149. v-hasPermi="['production:monthly:edit']"
  150. >{{ $t('保存') }}</el-button>
  151. <el-button
  152. :disabled="!eligibleProductRateUpdating"
  153. type="info"
  154. icon="el-icon-close"
  155. size="mini"
  156. @click="handleCancelEligibleProductRateUpdate"
  157. v-hasPermi="['production:monthly:edit']"
  158. >{{ $t('取消') }}</el-button>
  159. </div>
  160. <el-table border :data="tableEligibleProductRate" style="width: 100%;">
  161. <el-table-column label="Eligible Product rate">
  162. <el-table-column width="150" prop="title" label="">
  163. <template slot-scope="{row}">
  164. <div @click="columnOnclick(row)">{{row.title}}</div>
  165. </template>
  166. </el-table-column>
  167. <el-table-column prop="unit" label="unit"></el-table-column>
  168. <el-table-column prop="currently" label="currently"></el-table-column>
  169. <el-table-column prop="jan" :label="this.monthList[0]">
  170. <template slot-scope="{row}">
  171. <div v-if="!eligibleProductRateUpdating">{{row.jan}}</div>
  172. <div v-if="eligibleProductRateUpdating">
  173. <el-input v-model="row.jan" clearable="true"></el-input>
  174. </div>
  175. </template>
  176. </el-table-column>
  177. <el-table-column prop="feb" :label="this.monthList[1]">
  178. <template slot-scope="{row}">
  179. <div v-if="!eligibleProductRateUpdating">{{row.feb}}</div>
  180. <div v-if="eligibleProductRateUpdating">
  181. <el-input v-model="row.feb" clearable="true"></el-input>
  182. </div>
  183. </template>
  184. </el-table-column>
  185. <el-table-column prop="mar" :label="this.monthList[2]">
  186. <template slot-scope="{row}">
  187. <div v-if="!eligibleProductRateUpdating">{{row.mar}}</div>
  188. <div v-if="eligibleProductRateUpdating">
  189. <el-input v-model="row.mar" clearable="true"></el-input>
  190. </div>
  191. </template>
  192. </el-table-column>
  193. <el-table-column prop="apr" :label="this.monthList[3]">
  194. <template slot-scope="{row}">
  195. <div v-if="!eligibleProductRateUpdating">{{row.apr}}</div>
  196. <div v-if="eligibleProductRateUpdating">
  197. <el-input v-model="row.apr" clearable="true"></el-input>
  198. </div>
  199. </template>
  200. </el-table-column>
  201. <el-table-column prop="may" :label="this.monthList[4]">
  202. <template slot-scope="{row}">
  203. <div v-if="!eligibleProductRateUpdating">{{row.may}}</div>
  204. <div v-if="eligibleProductRateUpdating">
  205. <el-input v-model="row.may" clearable="true"></el-input>
  206. </div>
  207. </template>
  208. </el-table-column>
  209. <el-table-column prop="jun" :label="this.monthList[5]">
  210. <template slot-scope="{row}">
  211. <div v-if="!eligibleProductRateUpdating">{{row.jun}}</div>
  212. <div v-if="eligibleProductRateUpdating">
  213. <el-input v-model="row.jun" clearable="true"></el-input>
  214. </div>
  215. </template>
  216. </el-table-column>
  217. <el-table-column prop="jul" :label="this.monthList[6]">
  218. <template slot-scope="{row}">
  219. <div v-if="!eligibleProductRateUpdating">{{row.jul}}</div>
  220. <div v-if="eligibleProductRateUpdating">
  221. <el-input v-model="row.jul" clearable="true"></el-input>
  222. </div>
  223. </template>
  224. </el-table-column>
  225. <el-table-column prop="aug" :label="this.monthList[7]">
  226. <template slot-scope="{row}">
  227. <div v-if="!eligibleProductRateUpdating">{{row.aug}}</div>
  228. <div v-if="eligibleProductRateUpdating">
  229. <el-input v-model="row.aug" clearable="true"></el-input>
  230. </div>
  231. </template>
  232. </el-table-column>
  233. <el-table-column prop="sep" :label="this.monthList[8]">
  234. <template slot-scope="{row}">
  235. <div v-if="!eligibleProductRateUpdating">{{row.sep}}</div>
  236. <div v-if="eligibleProductRateUpdating">
  237. <el-input v-model="row.sep" clearable="true"></el-input>
  238. </div>
  239. </template>
  240. </el-table-column>
  241. <el-table-column prop="oct" :label="this.monthList[9]">
  242. <template slot-scope="{row}">
  243. <div v-if="!eligibleProductRateUpdating">{{row.oct}}</div>
  244. <div v-if="eligibleProductRateUpdating">
  245. <el-input v-model="row.oct" clearable="true"></el-input>
  246. </div>
  247. </template>
  248. </el-table-column>
  249. <el-table-column prop="nov" :label="this.monthList[10]">
  250. <template slot-scope="{row}">
  251. <div v-if="!eligibleProductRateUpdating">{{row.nov}}</div>
  252. <div v-if="eligibleProductRateUpdating">
  253. <el-input v-model="row.nov" clearable="true"></el-input>
  254. </div>
  255. </template>
  256. </el-table-column>
  257. <el-table-column prop="dec" :label="this.monthList[11]">
  258. <template slot-scope="{row}">
  259. <div v-if="!eligibleProductRateUpdating">{{row.dec}}</div>
  260. <div v-if="eligibleProductRateUpdating">
  261. <el-input v-model="row.dec" clearable="true"></el-input>
  262. </div>
  263. </template>
  264. </el-table-column>
  265. <el-table-column prop="avg" label="avg"></el-table-column>
  266. </el-table-column>
  267. </el-table>
  268. <!-- Product Yield -->
  269. <el-table border :data="tableProductYield" style="width: 100%;">
  270. <el-table-column label="Product yield">
  271. <el-table-column width="150" prop="title" label="">
  272. <template slot-scope="scope">
  273. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  274. </template>
  275. </el-table-column>
  276. <el-table-column prop="unit" label="unit"></el-table-column>
  277. <el-table-column prop="currently" label="currently"></el-table-column>
  278. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  279. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  280. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  281. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  282. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  283. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  284. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  285. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  286. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  287. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  288. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  289. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  290. <el-table-column prop="avg" label="avg"></el-table-column>
  291. </el-table-column>
  292. </el-table>
  293. <!-- Cracker Utility Consumption -->
  294. <div class="editDiv">
  295. <el-button
  296. :disabled="crackerUtilityConsumptionUpdating"
  297. type="primary"
  298. icon="el-icon-edit"
  299. size="mini"
  300. @click="handleCrackerUtilityConsumptionUpdate"
  301. v-hasPermi="['production:monthly:edit']"
  302. >{{ $t('编辑Cracker Utility Consumption') }}</el-button>
  303. <el-button
  304. :disabled="!crackerUtilityConsumptionUpdating"
  305. type="success"
  306. icon="el-icon-check"
  307. size="mini"
  308. @click="handleConfirmCrackerUtilityConsumptionUpdate"
  309. v-hasPermi="['production:monthly:edit']"
  310. >{{ $t('保存') }}</el-button>
  311. <el-button
  312. :disabled="!crackerUtilityConsumptionUpdating"
  313. type="info"
  314. icon="el-icon-close"
  315. size="mini"
  316. @click="handleCancelCrackerUtilityConsumptionUpdate"
  317. v-hasPermi="['production:monthly:edit']"
  318. >{{ $t('取消') }}</el-button>
  319. </div>
  320. <el-table border :data="tableCrackerUtilityConsumption" style="width: 100%;">
  321. <el-table-column label="Cracker Utility Consumption">
  322. <el-table-column width="150" prop="title" label="">
  323. <template slot-scope="scope">
  324. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  325. </template>
  326. </el-table-column>
  327. <el-table-column prop="unit" label="unit"></el-table-column>
  328. <el-table-column prop="currently" label="currently"></el-table-column>
  329. <el-table-column prop="jan" :label="this.monthList[0]">
  330. <template slot-scope="{row}">
  331. <div v-if="!crackerUtilityConsumptionUpdating">{{row.jan}}</div>
  332. <div v-if="crackerUtilityConsumptionUpdating &&
  333. (
  334. row.title == 'Instru. Air' ||
  335. row.title == 'P. W. Water' ||
  336. row.title == 'CNWW' ||
  337. row.title == 'DWW' ||
  338. row.title == 'waste oil' ||
  339. row.title == 'Potable Water' ||
  340. row.title == 'NG to furnace or offags to SUB'
  341. )
  342. ">
  343. <el-input v-model="row.jan" clearable="true"></el-input>
  344. </div>
  345. <div v-if="crackerUtilityConsumptionUpdating &&
  346. (
  347. row.title != 'Instru. Air' &&
  348. row.title != 'P. W. Water' &&
  349. row.title != 'CNWW' &&
  350. row.title != 'DWW' &&
  351. row.title != 'waste oil' &&
  352. row.title != 'Potable Water' &&
  353. row.title != 'NG to furnace or offags to SUB'
  354. )
  355. ">
  356. {{row.jan}}
  357. </div>
  358. </template>
  359. </el-table-column>
  360. <el-table-column prop="feb" :label="this.monthList[1]">
  361. <template slot-scope="{row}">
  362. <div v-if="!crackerUtilityConsumptionUpdating">{{row.feb}}</div>
  363. <div v-if="crackerUtilityConsumptionUpdating &&
  364. (
  365. row.title == 'Instru. Air' ||
  366. row.title == 'P. W. Water' ||
  367. row.title == 'CNWW' ||
  368. row.title == 'DWW' ||
  369. row.title == 'waste oil' ||
  370. row.title == 'Potable Water' ||
  371. row.title == 'NG to furnace or offags to SUB'
  372. )
  373. ">
  374. <el-input v-model="row.feb" clearable="true"></el-input>
  375. </div>
  376. <div v-if="crackerUtilityConsumptionUpdating &&
  377. (
  378. row.title != 'Instru. Air' &&
  379. row.title != 'P. W. Water' &&
  380. row.title != 'CNWW' &&
  381. row.title != 'DWW' &&
  382. row.title != 'waste oil' &&
  383. row.title != 'Potable Water' &&
  384. row.title != 'NG to furnace or offags to SUB'
  385. )
  386. ">
  387. {{row.feb}}
  388. </div>
  389. </template>
  390. </el-table-column>
  391. <el-table-column prop="mar" :label="this.monthList[2]">
  392. <template slot-scope="{row}">
  393. <div v-if="!crackerUtilityConsumptionUpdating">{{row.mar}}</div>
  394. <div v-if="crackerUtilityConsumptionUpdating &&
  395. (
  396. row.title == 'Instru. Air' ||
  397. row.title == 'P. W. Water' ||
  398. row.title == 'CNWW' ||
  399. row.title == 'DWW' ||
  400. row.title == 'waste oil' ||
  401. row.title == 'Potable Water' ||
  402. row.title == 'NG to furnace or offags to SUB'
  403. )
  404. ">
  405. <el-input v-model="row.mar" clearable="true"></el-input>
  406. </div>
  407. <div v-if="crackerUtilityConsumptionUpdating &&
  408. (
  409. row.title != 'Instru. Air' &&
  410. row.title != 'P. W. Water' &&
  411. row.title != 'CNWW' &&
  412. row.title != 'DWW' &&
  413. row.title != 'waste oil' &&
  414. row.title != 'Potable Water' &&
  415. row.title != 'NG to furnace or offags to SUB'
  416. )
  417. ">
  418. {{row.mar}}
  419. </div>
  420. </template>
  421. </el-table-column>
  422. <el-table-column prop="apr" :label="this.monthList[3]">
  423. <template slot-scope="{row}">
  424. <div v-if="!crackerUtilityConsumptionUpdating">{{row.apr}}</div>
  425. <div v-if="crackerUtilityConsumptionUpdating &&
  426. (
  427. row.title == 'Instru. Air' ||
  428. row.title == 'P. W. Water' ||
  429. row.title == 'CNWW' ||
  430. row.title == 'DWW' ||
  431. row.title == 'waste oil' ||
  432. row.title == 'Potable Water' ||
  433. row.title == 'NG to furnace or offags to SUB'
  434. )
  435. ">
  436. <el-input v-model="row.apr" clearable="true"></el-input>
  437. </div>
  438. <div v-if="crackerUtilityConsumptionUpdating &&
  439. (
  440. row.title != 'Instru. Air' &&
  441. row.title != 'P. W. Water' &&
  442. row.title != 'CNWW' &&
  443. row.title != 'DWW' &&
  444. row.title != 'waste oil' &&
  445. row.title != 'Potable Water' &&
  446. row.title != 'NG to furnace or offags to SUB'
  447. )
  448. ">
  449. {{row.apr}}
  450. </div>
  451. </template>
  452. </el-table-column>
  453. <el-table-column prop="may" :label="this.monthList[4]">
  454. <template slot-scope="{row}">
  455. <div v-if="!crackerUtilityConsumptionUpdating">{{row.may}}</div>
  456. <div v-if="crackerUtilityConsumptionUpdating &&
  457. (
  458. row.title == 'Instru. Air' ||
  459. row.title == 'P. W. Water' ||
  460. row.title == 'CNWW' ||
  461. row.title == 'DWW' ||
  462. row.title == 'waste oil' ||
  463. row.title == 'Potable Water' ||
  464. row.title == 'NG to furnace or offags to SUB'
  465. )
  466. ">
  467. <el-input v-model="row.may" clearable="true"></el-input>
  468. </div>
  469. <div v-if="crackerUtilityConsumptionUpdating &&
  470. (
  471. row.title != 'Instru. Air' &&
  472. row.title != 'P. W. Water' &&
  473. row.title != 'CNWW' &&
  474. row.title != 'DWW' &&
  475. row.title != 'waste oil' &&
  476. row.title != 'Potable Water' &&
  477. row.title != 'NG to furnace or offags to SUB'
  478. )
  479. ">
  480. {{row.may}}
  481. </div>
  482. </template>
  483. </el-table-column>
  484. <el-table-column prop="jun" :label="this.monthList[5]">
  485. <template slot-scope="{row}">
  486. <div v-if="!crackerUtilityConsumptionUpdating">{{row.jun}}</div>
  487. <div v-if="crackerUtilityConsumptionUpdating &&
  488. (
  489. row.title == 'Instru. Air' ||
  490. row.title == 'P. W. Water' ||
  491. row.title == 'CNWW' ||
  492. row.title == 'DWW' ||
  493. row.title == 'waste oil' ||
  494. row.title == 'Potable Water' ||
  495. row.title == 'NG to furnace or offags to SUB'
  496. )
  497. ">
  498. <el-input v-model="row.jun" clearable="true"></el-input>
  499. </div>
  500. <div v-if="crackerUtilityConsumptionUpdating &&
  501. (
  502. row.title != 'Instru. Air' &&
  503. row.title != 'P. W. Water' &&
  504. row.title != 'CNWW' &&
  505. row.title != 'DWW' &&
  506. row.title != 'waste oil' &&
  507. row.title != 'Potable Water' &&
  508. row.title != 'NG to furnace or offags to SUB'
  509. )
  510. ">
  511. {{row.jun}}
  512. </div>
  513. </template>
  514. </el-table-column>
  515. <el-table-column prop="jul" :label="this.monthList[6]">
  516. <template slot-scope="{row}">
  517. <div v-if="!crackerUtilityConsumptionUpdating">{{row.jul}}</div>
  518. <div v-if="crackerUtilityConsumptionUpdating &&
  519. (
  520. row.title == 'Instru. Air' ||
  521. row.title == 'P. W. Water' ||
  522. row.title == 'CNWW' ||
  523. row.title == 'DWW' ||
  524. row.title == 'waste oil' ||
  525. row.title == 'Potable Water' ||
  526. row.title == 'NG to furnace or offags to SUB'
  527. )
  528. ">
  529. <el-input v-model="row.jul" clearable="true"></el-input>
  530. </div>
  531. <div v-if="crackerUtilityConsumptionUpdating &&
  532. (
  533. row.title != 'Instru. Air' &&
  534. row.title != 'P. W. Water' &&
  535. row.title != 'CNWW' &&
  536. row.title != 'DWW' &&
  537. row.title != 'waste oil' &&
  538. row.title != 'Potable Water' &&
  539. row.title != 'NG to furnace or offags to SUB'
  540. )
  541. ">
  542. {{row.jul}}
  543. </div>
  544. </template>
  545. </el-table-column>
  546. <el-table-column prop="aug" :label="this.monthList[7]">
  547. <template slot-scope="{row}">
  548. <div v-if="!crackerUtilityConsumptionUpdating">{{row.aug}}</div>
  549. <div v-if="crackerUtilityConsumptionUpdating &&
  550. (
  551. row.title == 'Instru. Air' ||
  552. row.title == 'P. W. Water' ||
  553. row.title == 'CNWW' ||
  554. row.title == 'DWW' ||
  555. row.title == 'waste oil' ||
  556. row.title == 'Potable Water' ||
  557. row.title == 'NG to furnace or offags to SUB'
  558. )
  559. ">
  560. <el-input v-model="row.aug" clearable="true"></el-input>
  561. </div>
  562. <div v-if="crackerUtilityConsumptionUpdating &&
  563. (
  564. row.title != 'Instru. Air' &&
  565. row.title != 'P. W. Water' &&
  566. row.title != 'CNWW' &&
  567. row.title != 'DWW' &&
  568. row.title != 'waste oil' &&
  569. row.title != 'Potable Water' &&
  570. row.title != 'NG to furnace or offags to SUB'
  571. )
  572. ">
  573. {{row.aug}}
  574. </div>
  575. </template>
  576. </el-table-column>
  577. <el-table-column prop="sep" :label="this.monthList[8]">
  578. <template slot-scope="{row}">
  579. <div v-if="!crackerUtilityConsumptionUpdating">{{row.sep}}</div>
  580. <div v-if="crackerUtilityConsumptionUpdating &&
  581. (
  582. row.title == 'Instru. Air' ||
  583. row.title == 'P. W. Water' ||
  584. row.title == 'CNWW' ||
  585. row.title == 'DWW' ||
  586. row.title == 'waste oil' ||
  587. row.title == 'Potable Water' ||
  588. row.title == 'NG to furnace or offags to SUB'
  589. )
  590. ">
  591. <el-input v-model="row.sep" clearable="true"></el-input>
  592. </div>
  593. <div v-if="crackerUtilityConsumptionUpdating &&
  594. (
  595. row.title != 'Instru. Air' &&
  596. row.title != 'P. W. Water' &&
  597. row.title != 'CNWW' &&
  598. row.title != 'DWW' &&
  599. row.title != 'waste oil' &&
  600. row.title != 'Potable Water' &&
  601. row.title != 'NG to furnace or offags to SUB'
  602. )
  603. ">
  604. {{row.sep}}
  605. </div>
  606. </template>
  607. </el-table-column>
  608. <el-table-column prop="oct" :label="this.monthList[9]">
  609. <template slot-scope="{row}">
  610. <div v-if="!crackerUtilityConsumptionUpdating">{{row.oct}}</div>
  611. <div v-if="crackerUtilityConsumptionUpdating &&
  612. (
  613. row.title == 'Instru. Air' ||
  614. row.title == 'P. W. Water' ||
  615. row.title == 'CNWW' ||
  616. row.title == 'DWW' ||
  617. row.title == 'waste oil' ||
  618. row.title == 'Potable Water' ||
  619. row.title == 'NG to furnace or offags to SUB'
  620. )
  621. ">
  622. <el-input v-model="row.oct" clearable="true"></el-input>
  623. </div>
  624. <div v-if="crackerUtilityConsumptionUpdating &&
  625. (
  626. row.title != 'Instru. Air' &&
  627. row.title != 'P. W. Water' &&
  628. row.title != 'CNWW' &&
  629. row.title != 'DWW' &&
  630. row.title != 'waste oil' &&
  631. row.title != 'Potable Water' &&
  632. row.title != 'NG to furnace or offags to SUB'
  633. )
  634. ">
  635. {{row.oct}}
  636. </div>
  637. </template>
  638. </el-table-column>
  639. <el-table-column prop="nov" :label="this.monthList[10]">
  640. <template slot-scope="{row}">
  641. <div v-if="!crackerUtilityConsumptionUpdating">{{row.nov}}</div>
  642. <div v-if="crackerUtilityConsumptionUpdating &&
  643. (
  644. row.title == 'Instru. Air' ||
  645. row.title == 'P. W. Water' ||
  646. row.title == 'CNWW' ||
  647. row.title == 'DWW' ||
  648. row.title == 'waste oil' ||
  649. row.title == 'Potable Water' ||
  650. row.title == 'NG to furnace or offags to SUB'
  651. )
  652. ">
  653. <el-input v-model="row.nov" clearable="true"></el-input>
  654. </div>
  655. <div v-if="crackerUtilityConsumptionUpdating &&
  656. (
  657. row.title != 'Instru. Air' &&
  658. row.title != 'P. W. Water' &&
  659. row.title != 'CNWW' &&
  660. row.title != 'DWW' &&
  661. row.title != 'waste oil' &&
  662. row.title != 'Potable Water' &&
  663. row.title != 'NG to furnace or offags to SUB'
  664. )
  665. ">
  666. {{row.nov}}
  667. </div>
  668. </template>
  669. </el-table-column>
  670. <el-table-column prop="dec" :label="this.monthList[11]">
  671. <template slot-scope="{row}">
  672. <div v-if="!crackerUtilityConsumptionUpdating">{{row.dec}}</div>
  673. <div v-if="crackerUtilityConsumptionUpdating &&
  674. (
  675. row.title == 'Instru. Air' ||
  676. row.title == 'P. W. Water' ||
  677. row.title == 'CNWW' ||
  678. row.title == 'DWW' ||
  679. row.title == 'waste oil' ||
  680. row.title == 'Potable Water' ||
  681. row.title == 'NG to furnace or offags to SUB'
  682. )
  683. ">
  684. <el-input v-model="row.dec" clearable="true"></el-input>
  685. </div>
  686. <div v-if="crackerUtilityConsumptionUpdating &&
  687. (
  688. row.title != 'Instru. Air' &&
  689. row.title != 'P. W. Water' &&
  690. row.title != 'CNWW' &&
  691. row.title != 'DWW' &&
  692. row.title != 'waste oil' &&
  693. row.title != 'Potable Water' &&
  694. row.title != 'NG to furnace or offags to SUB'
  695. )
  696. ">
  697. {{row.dec}}
  698. </div>
  699. </template>
  700. </el-table-column>
  701. <el-table-column prop="total" label="total"></el-table-column>
  702. </el-table-column>
  703. </el-table>
  704. <!-- Cracker Energy Consumption -->
  705. <el-table border :data="tableCrackerEnergyConsumption" style="width: 100%;">
  706. <el-table-column label="Cracker Energy Consumption">
  707. <el-table-column width="150" prop="title" label="">
  708. <template slot-scope="scope">
  709. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  710. </template>
  711. </el-table-column>
  712. <el-table-column prop="unit" label="unit"></el-table-column>
  713. <el-table-column prop="currently" label="currently"></el-table-column>
  714. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  715. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  716. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  717. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  718. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  719. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  720. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  721. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  722. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  723. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  724. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  725. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  726. <el-table-column prop="total" label="total"></el-table-column>
  727. <el-table-column prop="avg" label="avg"></el-table-column>
  728. </el-table-column>
  729. </el-table>
  730. <!-- Aromatics Utility Consumption -->
  731. <div class="editDiv">
  732. <el-button
  733. :disabled="aromaticsUtilityConsumptionUpdating"
  734. type="primary"
  735. icon="el-icon-edit"
  736. size="mini"
  737. @click="handleAromaticsUtilityConsumptionUpdate"
  738. v-hasPermi="['production:monthly:edit']"
  739. >{{ $t('编辑Aromatics Utility Consumption') }}</el-button>
  740. <el-button
  741. :disabled="!aromaticsUtilityConsumptionUpdating"
  742. type="success"
  743. icon="el-icon-check"
  744. size="mini"
  745. @click="handleConfirmAromaticsUtilityConsumptionUpdate"
  746. v-hasPermi="['production:monthly:edit']"
  747. >{{ $t('保存') }}</el-button>
  748. <el-button
  749. :disabled="!aromaticsUtilityConsumptionUpdating"
  750. type="info"
  751. icon="el-icon-close"
  752. size="mini"
  753. @click="handleCancelAromaticsUtilityConsumptionUpdate"
  754. v-hasPermi="['production:monthly:edit']"
  755. >{{ $t('取消') }}</el-button>
  756. </div>
  757. <el-table border :data="tableAromaticsUtilityConsumption" style="width: 100%;">
  758. <el-table-column label="Aromatics Utility Consumption">
  759. <el-table-column width="150" prop="title" label="">
  760. <template slot-scope="scope">
  761. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  762. </template>
  763. </el-table-column>
  764. <el-table-column prop="unit" label="unit"></el-table-column>
  765. <el-table-column prop="currently" label="currently"></el-table-column>
  766. <el-table-column prop="jan" :label="this.monthList[0]">
  767. <template slot-scope="{row}">
  768. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.jan}}</div>
  769. <div v-if="aromaticsUtilityConsumptionUpdating &&
  770. (
  771. row.title == 'Potable Water' ||
  772. row.title == 'Contaminated WW' ||
  773. row.title == 'Production WW' ||
  774. row.title == 'DWW' ||
  775. row.title == 'Waste Liquid'
  776. )
  777. ">
  778. <el-input v-model="row.jan" clearable="true"></el-input>
  779. </div>
  780. <div v-if="aromaticsUtilityConsumptionUpdating &&
  781. (
  782. row.title != 'Potable Water' &&
  783. row.title != 'Contaminated WW' &&
  784. row.title != 'Production WW' &&
  785. row.title != 'DWW' &&
  786. row.title != 'Waste Liquid'
  787. )
  788. ">
  789. {{row.jan}}
  790. </div>
  791. </template>
  792. </el-table-column>
  793. <el-table-column prop="feb" :label="this.monthList[1]">
  794. <template slot-scope="{row}">
  795. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.feb}}</div>
  796. <div v-if="aromaticsUtilityConsumptionUpdating &&
  797. (
  798. row.title == 'Potable Water' ||
  799. row.title == 'Contaminated WW' ||
  800. row.title == 'Production WW' ||
  801. row.title == 'DWW' ||
  802. row.title == 'Waste Liquid'
  803. )
  804. ">
  805. <el-input v-model="row.feb" clearable="true"></el-input>
  806. </div>
  807. <div v-if="aromaticsUtilityConsumptionUpdating &&
  808. (
  809. row.title != 'Potable Water' &&
  810. row.title != 'Contaminated WW' &&
  811. row.title != 'Production WW' &&
  812. row.title != 'DWW' &&
  813. row.title != 'Waste Liquid'
  814. )
  815. ">
  816. {{row.feb}}
  817. </div>
  818. </template>
  819. </el-table-column>
  820. <el-table-column prop="mar" :label="this.monthList[2]">
  821. <template slot-scope="{row}">
  822. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.mar}}</div>
  823. <div v-if="aromaticsUtilityConsumptionUpdating &&
  824. (
  825. row.title == 'Potable Water' ||
  826. row.title == 'Contaminated WW' ||
  827. row.title == 'Production WW' ||
  828. row.title == 'DWW' ||
  829. row.title == 'Waste Liquid'
  830. )
  831. ">
  832. <el-input v-model="row.mar" clearable="true"></el-input>
  833. </div>
  834. <div v-if="aromaticsUtilityConsumptionUpdating &&
  835. (
  836. row.title != 'Potable Water' &&
  837. row.title != 'Contaminated WW' &&
  838. row.title != 'Production WW' &&
  839. row.title != 'DWW' &&
  840. row.title != 'Waste Liquid'
  841. )
  842. ">
  843. {{row.mar}}
  844. </div>
  845. </template>
  846. </el-table-column>
  847. <el-table-column prop="apr" :label="this.monthList[3]">
  848. <template slot-scope="{row}">
  849. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.apr}}</div>
  850. <div v-if="aromaticsUtilityConsumptionUpdating &&
  851. (
  852. row.title == 'Potable Water' ||
  853. row.title == 'Contaminated WW' ||
  854. row.title == 'Production WW' ||
  855. row.title == 'DWW' ||
  856. row.title == 'Waste Liquid'
  857. )
  858. ">
  859. <el-input v-model="row.apr" clearable="true"></el-input>
  860. </div>
  861. <div v-if="aromaticsUtilityConsumptionUpdating &&
  862. (
  863. row.title != 'Potable Water' &&
  864. row.title != 'Contaminated WW' &&
  865. row.title != 'Production WW' &&
  866. row.title != 'DWW' &&
  867. row.title != 'Waste Liquid'
  868. )
  869. ">
  870. {{row.apr}}
  871. </div>
  872. </template>
  873. </el-table-column>
  874. <el-table-column prop="may" :label="this.monthList[4]">
  875. <template slot-scope="{row}">
  876. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.may}}</div>
  877. <div v-if="aromaticsUtilityConsumptionUpdating &&
  878. (
  879. row.title == 'Potable Water' ||
  880. row.title == 'Contaminated WW' ||
  881. row.title == 'Production WW' ||
  882. row.title == 'DWW' ||
  883. row.title == 'Waste Liquid'
  884. )
  885. ">
  886. <el-input v-model="row.may" clearable="true"></el-input>
  887. </div>
  888. <div v-if="aromaticsUtilityConsumptionUpdating &&
  889. (
  890. row.title != 'Potable Water' &&
  891. row.title != 'Contaminated WW' &&
  892. row.title != 'Production WW' &&
  893. row.title != 'DWW' &&
  894. row.title != 'Waste Liquid'
  895. )
  896. ">
  897. {{row.may}}
  898. </div>
  899. </template>
  900. </el-table-column>
  901. <el-table-column prop="jun" :label="this.monthList[5]">
  902. <template slot-scope="{row}">
  903. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.jun}}</div>
  904. <div v-if="aromaticsUtilityConsumptionUpdating &&
  905. (
  906. row.title == 'Potable Water' ||
  907. row.title == 'Contaminated WW' ||
  908. row.title == 'Production WW' ||
  909. row.title == 'DWW' ||
  910. row.title == 'Waste Liquid'
  911. )
  912. ">
  913. <el-input v-model="row.jun" clearable="true"></el-input>
  914. </div>
  915. <div v-if="aromaticsUtilityConsumptionUpdating &&
  916. (
  917. row.title != 'Potable Water' &&
  918. row.title != 'Contaminated WW' &&
  919. row.title != 'Production WW' &&
  920. row.title != 'DWW' &&
  921. row.title != 'Waste Liquid'
  922. )
  923. ">
  924. {{row.jun}}
  925. </div>
  926. </template>
  927. </el-table-column>
  928. <el-table-column prop="jul" :label="this.monthList[6]">
  929. <template slot-scope="{row}">
  930. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.jul}}</div>
  931. <div v-if="aromaticsUtilityConsumptionUpdating &&
  932. (
  933. row.title == 'Potable Water' ||
  934. row.title == 'Contaminated WW' ||
  935. row.title == 'Production WW' ||
  936. row.title == 'DWW' ||
  937. row.title == 'Waste Liquid'
  938. )
  939. ">
  940. <el-input v-model="row.jul" clearable="true"></el-input>
  941. </div>
  942. <div v-if="aromaticsUtilityConsumptionUpdating &&
  943. (
  944. row.title != 'Potable Water' &&
  945. row.title != 'Contaminated WW' &&
  946. row.title != 'Production WW' &&
  947. row.title != 'DWW' &&
  948. row.title != 'Waste Liquid'
  949. )
  950. ">
  951. {{row.jul}}
  952. </div>
  953. </template>
  954. </el-table-column>
  955. <el-table-column prop="aug" :label="this.monthList[7]">
  956. <template slot-scope="{row}">
  957. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.aug}}</div>
  958. <div v-if="aromaticsUtilityConsumptionUpdating &&
  959. (
  960. row.title == 'Potable Water' ||
  961. row.title == 'Contaminated WW' ||
  962. row.title == 'Production WW' ||
  963. row.title == 'DWW' ||
  964. row.title == 'Waste Liquid'
  965. )
  966. ">
  967. <el-input v-model="row.aug" clearable="true"></el-input>
  968. </div>
  969. <div v-if="aromaticsUtilityConsumptionUpdating &&
  970. (
  971. row.title != 'Potable Water' &&
  972. row.title != 'Contaminated WW' &&
  973. row.title != 'Production WW' &&
  974. row.title != 'DWW' &&
  975. row.title != 'Waste Liquid'
  976. )
  977. ">
  978. {{row.aug}}
  979. </div>
  980. </template>
  981. </el-table-column>
  982. <el-table-column prop="sep" :label="this.monthList[8]">
  983. <template slot-scope="{row}">
  984. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.sep}}</div>
  985. <div v-if="aromaticsUtilityConsumptionUpdating &&
  986. (
  987. row.title == 'Potable Water' ||
  988. row.title == 'Contaminated WW' ||
  989. row.title == 'Production WW' ||
  990. row.title == 'DWW' ||
  991. row.title == 'Waste Liquid'
  992. )
  993. ">
  994. <el-input v-model="row.sep" clearable="true"></el-input>
  995. </div>
  996. <div v-if="aromaticsUtilityConsumptionUpdating &&
  997. (
  998. row.title != 'Potable Water' &&
  999. row.title != 'Contaminated WW' &&
  1000. row.title != 'Production WW' &&
  1001. row.title != 'DWW' &&
  1002. row.title != 'Waste Liquid'
  1003. )
  1004. ">
  1005. {{row.sep}}
  1006. </div>
  1007. </template>
  1008. </el-table-column>
  1009. <el-table-column prop="oct" :label="this.monthList[9]">
  1010. <template slot-scope="{row}">
  1011. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.oct}}</div>
  1012. <div v-if="aromaticsUtilityConsumptionUpdating &&
  1013. (
  1014. row.title == 'Potable Water' ||
  1015. row.title == 'Contaminated WW' ||
  1016. row.title == 'Production WW' ||
  1017. row.title == 'DWW' ||
  1018. row.title == 'Waste Liquid'
  1019. )
  1020. ">
  1021. <el-input v-model="row.oct" clearable="true"></el-input>
  1022. </div>
  1023. <div v-if="aromaticsUtilityConsumptionUpdating &&
  1024. (
  1025. row.title != 'Potable Water' &&
  1026. row.title != 'Contaminated WW' &&
  1027. row.title != 'Production WW' &&
  1028. row.title != 'DWW' &&
  1029. row.title != 'Waste Liquid'
  1030. )
  1031. ">
  1032. {{row.oct}}
  1033. </div>
  1034. </template>
  1035. </el-table-column>
  1036. <el-table-column prop="nov" :label="this.monthList[10]">
  1037. <template slot-scope="{row}">
  1038. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.nov}}</div>
  1039. <div v-if="aromaticsUtilityConsumptionUpdating &&
  1040. (
  1041. row.title == 'Potable Water' ||
  1042. row.title == 'Contaminated WW' ||
  1043. row.title == 'Production WW' ||
  1044. row.title == 'DWW' ||
  1045. row.title == 'Waste Liquid'
  1046. )
  1047. ">
  1048. <el-input v-model="row.nov" clearable="true"></el-input>
  1049. </div>
  1050. <div v-if="aromaticsUtilityConsumptionUpdating &&
  1051. (
  1052. row.title != 'Potable Water' &&
  1053. row.title != 'Contaminated WW' &&
  1054. row.title != 'Production WW' &&
  1055. row.title != 'DWW' &&
  1056. row.title != 'Waste Liquid'
  1057. )
  1058. ">
  1059. {{row.nov}}
  1060. </div>
  1061. </template>
  1062. </el-table-column>
  1063. <el-table-column prop="dec" :label="this.monthList[11]">
  1064. <template slot-scope="{row}">
  1065. <div v-if="!aromaticsUtilityConsumptionUpdating">{{row.dec}}</div>
  1066. <div v-if="aromaticsUtilityConsumptionUpdating &&
  1067. (
  1068. row.title == 'Potable Water' ||
  1069. row.title == 'Contaminated WW' ||
  1070. row.title == 'Production WW' ||
  1071. row.title == 'DWW' ||
  1072. row.title == 'Waste Liquid'
  1073. )
  1074. ">
  1075. <el-input v-model="row.dec" clearable="true"></el-input>
  1076. </div>
  1077. <div v-if="aromaticsUtilityConsumptionUpdating &&
  1078. (
  1079. row.title != 'Potable Water' &&
  1080. row.title != 'Contaminated WW' &&
  1081. row.title != 'Production WW' &&
  1082. row.title != 'DWW' &&
  1083. row.title != 'Waste Liquid'
  1084. )
  1085. ">
  1086. {{row.dec}}
  1087. </div>
  1088. </template>
  1089. </el-table-column>
  1090. <el-table-column prop="total" label="total"></el-table-column>
  1091. </el-table-column>
  1092. </el-table>
  1093. <!-- Aromatics Energy Consumption -->
  1094. <el-table border :data="tableAromaticsEnergyConsumption" style="width: 100%;">
  1095. <el-table-column label="Cracker Aromatics Consumption">
  1096. <el-table-column width="150" prop="title" label="">
  1097. <template slot-scope="scope">
  1098. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1099. </template>
  1100. </el-table-column>
  1101. <el-table-column prop="unit" label="unit"></el-table-column>
  1102. <el-table-column prop="currently" label="currently"></el-table-column>
  1103. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  1104. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  1105. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  1106. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  1107. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  1108. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  1109. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  1110. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  1111. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  1112. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  1113. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  1114. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  1115. <el-table-column prop="total" label="total"></el-table-column>
  1116. <el-table-column prop="avg" label="avg"></el-table-column>
  1117. </el-table-column>
  1118. </el-table>
  1119. <!-- Plant Load -->
  1120. <el-table border :data="tablePlantLoad" style="width: 100%;">
  1121. <el-table-column label="Plant load">
  1122. <el-table-column width="150" prop="title" label="">
  1123. <template slot-scope="scope">
  1124. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1125. </template>
  1126. </el-table-column>
  1127. <el-table-column prop="unit" label="unit"></el-table-column>
  1128. <el-table-column prop="currently" label="currently"></el-table-column>
  1129. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  1130. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  1131. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  1132. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  1133. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  1134. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  1135. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  1136. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  1137. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  1138. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  1139. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  1140. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  1141. <el-table-column prop="total" label="total"></el-table-column>
  1142. <el-table-column prop="avg" label="avg"></el-table-column>
  1143. </el-table-column>
  1144. </el-table>
  1145. <!-- Cost Fr Ethylene -->
  1146. <div class="editDiv">
  1147. <el-button
  1148. :disabled="costFrEthyleneUpdating"
  1149. type="primary"
  1150. icon="el-icon-edit"
  1151. size="mini"
  1152. @click="handleCostFrEthyleneUpdate"
  1153. v-hasPermi="['production:monthly:edit']"
  1154. >{{ $t('编辑Cost Fr Ethylene') }}</el-button>
  1155. <el-button
  1156. :disabled="!costFrEthyleneUpdating"
  1157. type="success"
  1158. icon="el-icon-check"
  1159. size="mini"
  1160. @click="handleConfirmCostFrEthyleneUpdate"
  1161. v-hasPermi="['production:monthly:edit']"
  1162. >{{ $t('保存') }}</el-button>
  1163. <el-button
  1164. :disabled="!costFrEthyleneUpdating"
  1165. type="info"
  1166. icon="el-icon-close"
  1167. size="mini"
  1168. @click="handleCancelCostFrEthyleneUpdate"
  1169. v-hasPermi="['production:monthly:edit']"
  1170. >{{ $t('取消') }}</el-button>
  1171. </div>
  1172. <el-table border :data="tableCostFrEthylene" style="width: 100%;">
  1173. <el-table-column label="Cost fr Ethylene">
  1174. <el-table-column width="150" prop="title" label="">
  1175. <template slot-scope="scope">
  1176. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1177. </template>
  1178. </el-table-column>
  1179. <el-table-column prop="unit" label="unit"></el-table-column>
  1180. <el-table-column prop="currently" label="currently"></el-table-column>
  1181. <el-table-column prop="jan" :label="this.monthList[0]">
  1182. <template slot-scope="{row}">
  1183. <div v-if="!costFrEthyleneUpdating">{{row.jan}}</div>
  1184. <div v-if="costFrEthyleneUpdating">
  1185. <el-input v-model="row.jan" clearable="true"></el-input>
  1186. </div>
  1187. </template>
  1188. </el-table-column>
  1189. <el-table-column prop="feb" :label="this.monthList[1]">
  1190. <template slot-scope="{row}">
  1191. <div v-if="!costFrEthyleneUpdating">{{row.feb}}</div>
  1192. <div v-if="costFrEthyleneUpdating">
  1193. <el-input v-model="row.feb" clearable="true"></el-input>
  1194. </div>
  1195. </template>
  1196. </el-table-column>
  1197. <el-table-column prop="mar" :label="this.monthList[2]">
  1198. <template slot-scope="{row}">
  1199. <div v-if="!costFrEthyleneUpdating">{{row.mar}}</div>
  1200. <div v-if="costFrEthyleneUpdating">
  1201. <el-input v-model="row.mar" clearable="true"></el-input>
  1202. </div>
  1203. </template>
  1204. </el-table-column>
  1205. <el-table-column prop="apr" :label="this.monthList[3]">
  1206. <template slot-scope="{row}">
  1207. <div v-if="!costFrEthyleneUpdating">{{row.apr}}</div>
  1208. <div v-if="costFrEthyleneUpdating">
  1209. <el-input v-model="row.apr" clearable="true"></el-input>
  1210. </div>
  1211. </template>
  1212. </el-table-column>
  1213. <el-table-column prop="may" :label="this.monthList[4]">
  1214. <template slot-scope="{row}">
  1215. <div v-if="!costFrEthyleneUpdating">{{row.may}}</div>
  1216. <div v-if="costFrEthyleneUpdating">
  1217. <el-input v-model="row.may" clearable="true"></el-input>
  1218. </div>
  1219. </template>
  1220. </el-table-column>
  1221. <el-table-column prop="jun" :label="this.monthList[5]">
  1222. <template slot-scope="{row}">
  1223. <div v-if="!costFrEthyleneUpdating">{{row.jun}}</div>
  1224. <div v-if="costFrEthyleneUpdating">
  1225. <el-input v-model="row.jun" clearable="true"></el-input>
  1226. </div>
  1227. </template>
  1228. </el-table-column>
  1229. <el-table-column prop="jul" :label="this.monthList[6]">
  1230. <template slot-scope="{row}">
  1231. <div v-if="!costFrEthyleneUpdating">{{row.jul}}</div>
  1232. <div v-if="costFrEthyleneUpdating">
  1233. <el-input v-model="row.jul" clearable="true"></el-input>
  1234. </div>
  1235. </template>
  1236. </el-table-column>
  1237. <el-table-column prop="aug" :label="this.monthList[7]">
  1238. <template slot-scope="{row}">
  1239. <div v-if="!costFrEthyleneUpdating">{{row.aug}}</div>
  1240. <div v-if="costFrEthyleneUpdating">
  1241. <el-input v-model="row.aug" clearable="true"></el-input>
  1242. </div>
  1243. </template>
  1244. </el-table-column>
  1245. <el-table-column prop="sep" :label="this.monthList[8]">
  1246. <template slot-scope="{row}">
  1247. <div v-if="!costFrEthyleneUpdating">{{row.sep}}</div>
  1248. <div v-if="costFrEthyleneUpdating">
  1249. <el-input v-model="row.sep" clearable="true"></el-input>
  1250. </div>
  1251. </template>
  1252. </el-table-column>
  1253. <el-table-column prop="oct" :label="this.monthList[9]">
  1254. <template slot-scope="{row}">
  1255. <div v-if="!costFrEthyleneUpdating">{{row.oct}}</div>
  1256. <div v-if="costFrEthyleneUpdating">
  1257. <el-input v-model="row.oct" clearable="true"></el-input>
  1258. </div>
  1259. </template>
  1260. </el-table-column>
  1261. <el-table-column prop="nov" :label="this.monthList[10]">
  1262. <template slot-scope="{row}">
  1263. <div v-if="!costFrEthyleneUpdating">{{row.nov}}</div>
  1264. <div v-if="costFrEthyleneUpdating">
  1265. <el-input v-model="row.nov" clearable="true"></el-input>
  1266. </div>
  1267. </template>
  1268. </el-table-column>
  1269. <el-table-column prop="dec" :label="this.monthList[11]">
  1270. <template slot-scope="{row}">
  1271. <div v-if="!costFrEthyleneUpdating">{{row.dec}}</div>
  1272. <div v-if="costFrEthyleneUpdating">
  1273. <el-input v-model="row.dec" clearable="true"></el-input>
  1274. </div>
  1275. </template>
  1276. </el-table-column>
  1277. <el-table-column prop="total" label="total"></el-table-column>
  1278. </el-table-column>
  1279. </el-table>
  1280. <!-- Runing Rate -->
  1281. <div class="editDiv">
  1282. <el-button
  1283. :disabled="runingRateUpdating"
  1284. type="primary"
  1285. icon="el-icon-edit"
  1286. size="mini"
  1287. @click="handleRuningRateUpdate"
  1288. v-hasPermi="['production:monthly:edit']"
  1289. >{{ $t('编辑Runing Rate') }}</el-button>
  1290. <el-button
  1291. :disabled="!runingRateUpdating"
  1292. type="success"
  1293. icon="el-icon-check"
  1294. size="mini"
  1295. @click="handleConfirmRuningRateUpdate"
  1296. v-hasPermi="['production:monthly:edit']"
  1297. >{{ $t('保存') }}</el-button>
  1298. <el-button
  1299. :disabled="!runingRateUpdating"
  1300. type="info"
  1301. icon="el-icon-close"
  1302. size="mini"
  1303. @click="handleCancelRuningRateUpdate"
  1304. v-hasPermi="['production:monthly:edit']"
  1305. >{{ $t('取消') }}</el-button>
  1306. </div>
  1307. <el-table border :data="tableRuningRate" style="width: 100%;">
  1308. <el-table-column label="Runing Rate">
  1309. <el-table-column width="150" prop="title" label="">
  1310. <template slot-scope="scope">
  1311. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1312. </template>
  1313. </el-table-column>
  1314. <el-table-column prop="unit" label="unit"></el-table-column>
  1315. <el-table-column prop="currently" label="currently"></el-table-column>
  1316. <el-table-column prop="jan" :label="this.monthList[0]">
  1317. <template slot-scope="{row}">
  1318. <div v-if="!runingRateUpdating">{{row.jan}}</div>
  1319. <div v-if="runingRateUpdating && row.title == 'run day'">
  1320. <el-input v-model="row.jan" clearable="true"></el-input>
  1321. </div>
  1322. <div v-if="runingRateUpdating && row.title != 'run day'">
  1323. {{row.jan}}
  1324. </div>
  1325. </template>
  1326. </el-table-column>
  1327. <el-table-column prop="feb" :label="this.monthList[1]">
  1328. <template slot-scope="{row}">
  1329. <div v-if="!runingRateUpdating">{{row.feb}}</div>
  1330. <div v-if="runingRateUpdating && row.title == 'run day'">
  1331. <el-input v-model="row.feb" clearable="true"></el-input>
  1332. </div>
  1333. <div v-if="runingRateUpdating && row.title != 'run day'">
  1334. {{row.feb}}
  1335. </div>
  1336. </template>
  1337. </el-table-column>
  1338. <el-table-column prop="mar" :label="this.monthList[2]">
  1339. <template slot-scope="{row}">
  1340. <div v-if="!runingRateUpdating">{{row.mar}}</div>
  1341. <div v-if="runingRateUpdating && row.title == 'run day'">
  1342. <el-input v-model="row.mar" clearable="true"></el-input>
  1343. </div>
  1344. <div v-if="runingRateUpdating && row.title != 'run day'">
  1345. {{row.mar}}
  1346. </div>
  1347. </template>
  1348. </el-table-column>
  1349. <el-table-column prop="apr" :label="this.monthList[3]">
  1350. <template slot-scope="{row}">
  1351. <div v-if="!runingRateUpdating">{{row.apr}}</div>
  1352. <div v-if="runingRateUpdating && row.title == 'run day'">
  1353. <el-input v-model="row.apr" clearable="true"></el-input>
  1354. </div>
  1355. <div v-if="runingRateUpdating && row.title != 'run day'">
  1356. {{row.apr}}
  1357. </div>
  1358. </template>
  1359. </el-table-column>
  1360. <el-table-column prop="may" :label="this.monthList[4]">
  1361. <template slot-scope="{row}">
  1362. <div v-if="!runingRateUpdating">{{row.may}}</div>
  1363. <div v-if="runingRateUpdating && row.title == 'run day'">
  1364. <el-input v-model="row.may" clearable="true"></el-input>
  1365. </div>
  1366. <div v-if="runingRateUpdating && row.title != 'run day'">
  1367. {{row.may}}
  1368. </div>
  1369. </template>
  1370. </el-table-column>
  1371. <el-table-column prop="jun" :label="this.monthList[5]">
  1372. <template slot-scope="{row}">
  1373. <div v-if="!runingRateUpdating">{{row.jun}}</div>
  1374. <div v-if="runingRateUpdating && row.title == 'run day'">
  1375. <el-input v-model="row.jun" clearable="true"></el-input>
  1376. </div>
  1377. <div v-if="runingRateUpdating && row.title != 'run day'">
  1378. {{row.jun}}
  1379. </div>
  1380. </template>
  1381. </el-table-column>
  1382. <el-table-column prop="jul" :label="this.monthList[6]">
  1383. <template slot-scope="{row}">
  1384. <div v-if="!runingRateUpdating">{{row.jul}}</div>
  1385. <div v-if="runingRateUpdating && row.title == 'run day'">
  1386. <el-input v-model="row.jul" clearable="true"></el-input>
  1387. </div>
  1388. <div v-if="runingRateUpdating && row.title != 'run day'">
  1389. {{row.jul}}
  1390. </div>
  1391. </template>
  1392. </el-table-column>
  1393. <el-table-column prop="aug" :label="this.monthList[7]">
  1394. <template slot-scope="{row}">
  1395. <div v-if="!runingRateUpdating">{{row.aug}}</div>
  1396. <div v-if="runingRateUpdating && row.title == 'run day'">
  1397. <el-input v-model="row.aug" clearable="true"></el-input>
  1398. </div>
  1399. <div v-if="runingRateUpdating && row.title != 'run day'">
  1400. {{row.aug}}
  1401. </div>
  1402. </template>
  1403. </el-table-column>
  1404. <el-table-column prop="sep" :label="this.monthList[8]">
  1405. <template slot-scope="{row}">
  1406. <div v-if="!runingRateUpdating">{{row.sep}}</div>
  1407. <div v-if="runingRateUpdating && row.title == 'run day'">
  1408. <el-input v-model="row.sep" clearable="true"></el-input>
  1409. </div>
  1410. <div v-if="runingRateUpdating && row.title != 'run day'">
  1411. {{row.sep}}
  1412. </div>
  1413. </template>
  1414. </el-table-column>
  1415. <el-table-column prop="oct" :label="this.monthList[9]">
  1416. <template slot-scope="{row}">
  1417. <div v-if="!runingRateUpdating">{{row.oct}}</div>
  1418. <div v-if="runingRateUpdating && row.title == 'run day'">
  1419. <el-input v-model="row.oct" clearable="true"></el-input>
  1420. </div>
  1421. <div v-if="runingRateUpdating && row.title != 'run day'">
  1422. {{row.oct}}
  1423. </div>
  1424. </template>
  1425. </el-table-column>
  1426. <el-table-column prop="nov" :label="this.monthList[10]">
  1427. <template slot-scope="{row}">
  1428. <div v-if="!runingRateUpdating">{{row.nov}}</div>
  1429. <div v-if="runingRateUpdating && row.title == 'run day'">
  1430. <el-input v-model="row.nov" clearable="true"></el-input>
  1431. </div>
  1432. <div v-if="runingRateUpdating && row.title != 'run day'">
  1433. {{row.nov}}
  1434. </div>
  1435. </template>
  1436. </el-table-column>
  1437. <el-table-column prop="dec" :label="this.monthList[11]">
  1438. <template slot-scope="{row}">
  1439. <div v-if="!runingRateUpdating">{{row.dec}}</div>
  1440. <div v-if="runingRateUpdating && row.title == 'run day'">
  1441. <el-input v-model="row.dec" clearable="true"></el-input>
  1442. </div>
  1443. <div v-if="runingRateUpdating && row.title != 'run day'">
  1444. {{row.dec}}
  1445. </div>
  1446. </template>
  1447. </el-table-column>
  1448. <el-table-column prop="total" label="total"></el-table-column>
  1449. <el-table-column prop="avg" label="avg"></el-table-column>
  1450. </el-table-column>
  1451. </el-table>
  1452. <!-- Shoudown Hour -->
  1453. <div class="editDiv">
  1454. <el-button
  1455. :disabled="shoudownHourUpdating"
  1456. type="primary"
  1457. icon="el-icon-edit"
  1458. size="mini"
  1459. @click="handleShoudownHourUpdate"
  1460. v-hasPermi="['production:monthly:edit']"
  1461. >{{ $t('编辑Shoudown Hour') }}</el-button>
  1462. <el-button
  1463. :disabled="!shoudownHourUpdating"
  1464. type="success"
  1465. icon="el-icon-check"
  1466. size="mini"
  1467. @click="handleConfirmShoudownHourUpdate"
  1468. v-hasPermi="['production:monthly:edit']"
  1469. >{{ $t('保存') }}</el-button>
  1470. <el-button
  1471. :disabled="!shoudownHourUpdating"
  1472. type="info"
  1473. icon="el-icon-close"
  1474. size="mini"
  1475. @click="handleCancelShoudownHourUpdate"
  1476. v-hasPermi="['production:monthly:edit']"
  1477. >{{ $t('取消') }}</el-button>
  1478. </div>
  1479. <el-table border :data="tableShoudownHour" style="width: 100%;">
  1480. <el-table-column label="Shoudown Hour">
  1481. <el-table-column width="150" prop="title" label="">
  1482. <template slot-scope="scope">
  1483. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1484. </template>
  1485. </el-table-column>
  1486. <el-table-column prop="unit" label="unit"></el-table-column>
  1487. <el-table-column prop="currently" label="currently"></el-table-column>
  1488. <el-table-column prop="jan" :label="this.monthList[0]">
  1489. <template slot-scope="{row}">
  1490. <div v-if="!shoudownHourUpdating">{{row.jan}}</div>
  1491. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1492. <el-input v-model="row.jan" clearable="true"></el-input>
  1493. </div>
  1494. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1495. {{row.jan}}
  1496. </div>
  1497. </template>
  1498. </el-table-column>
  1499. <el-table-column prop="feb" :label="this.monthList[1]">
  1500. <template slot-scope="{row}">
  1501. <div v-if="!shoudownHourUpdating">{{row.feb}}</div>
  1502. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1503. <el-input v-model="row.feb" clearable="true"></el-input>
  1504. </div>
  1505. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1506. {{row.feb}}
  1507. </div>
  1508. </template>
  1509. </el-table-column>
  1510. <el-table-column prop="mar" :label="this.monthList[2]">
  1511. <template slot-scope="{row}">
  1512. <div v-if="!shoudownHourUpdating">{{row.mar}}</div>
  1513. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1514. <el-input v-model="row.mar" clearable="true"></el-input>
  1515. </div>
  1516. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1517. {{row.mar}}
  1518. </div>
  1519. </template>
  1520. </el-table-column>
  1521. <el-table-column prop="apr" :label="this.monthList[3]">
  1522. <template slot-scope="{row}">
  1523. <div v-if="!shoudownHourUpdating">{{row.apr}}</div>
  1524. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1525. <el-input v-model="row.apr" clearable="true"></el-input>
  1526. </div>
  1527. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1528. {{row.apr}}
  1529. </div>
  1530. </template>
  1531. </el-table-column>
  1532. <el-table-column prop="may" :label="this.monthList[4]">
  1533. <template slot-scope="{row}">
  1534. <div v-if="!shoudownHourUpdating">{{row.may}}</div>
  1535. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1536. <el-input v-model="row.may" clearable="true"></el-input>
  1537. </div>
  1538. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1539. {{row.may}}
  1540. </div>
  1541. </template>
  1542. </el-table-column>
  1543. <el-table-column prop="jun" :label="this.monthList[5]">
  1544. <template slot-scope="{row}">
  1545. <div v-if="!shoudownHourUpdating">{{row.jun}}</div>
  1546. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1547. <el-input v-model="row.jun" clearable="true"></el-input>
  1548. </div>
  1549. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1550. {{row.jun}}
  1551. </div>
  1552. </template>
  1553. </el-table-column>
  1554. <el-table-column prop="jul" :label="this.monthList[6]">
  1555. <template slot-scope="{row}">
  1556. <div v-if="!shoudownHourUpdating">{{row.jul}}</div>
  1557. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1558. <el-input v-model="row.jul" clearable="true"></el-input>
  1559. </div>
  1560. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1561. {{row.jul}}
  1562. </div>
  1563. </template>
  1564. </el-table-column>
  1565. <el-table-column prop="aug" :label="this.monthList[7]">
  1566. <template slot-scope="{row}">
  1567. <div v-if="!shoudownHourUpdating">{{row.aug}}</div>
  1568. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1569. <el-input v-model="row.aug" clearable="true"></el-input>
  1570. </div>
  1571. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1572. {{row.aug}}
  1573. </div>
  1574. </template>
  1575. </el-table-column>
  1576. <el-table-column prop="sep" :label="this.monthList[8]">
  1577. <template slot-scope="{row}">
  1578. <div v-if="!shoudownHourUpdating">{{row.sep}}</div>
  1579. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1580. <el-input v-model="row.sep" clearable="true"></el-input>
  1581. </div>
  1582. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1583. {{row.sep}}
  1584. </div>
  1585. </template>
  1586. </el-table-column>
  1587. <el-table-column prop="oct" :label="this.monthList[9]">
  1588. <template slot-scope="{row}">
  1589. <div v-if="!shoudownHourUpdating">{{row.oct}}</div>
  1590. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1591. <el-input v-model="row.oct" clearable="true"></el-input>
  1592. </div>
  1593. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1594. {{row.oct}}
  1595. </div>
  1596. </template>
  1597. </el-table-column>
  1598. <el-table-column prop="nov" :label="this.monthList[10]">
  1599. <template slot-scope="{row}">
  1600. <div v-if="!shoudownHourUpdating">{{row.nov}}</div>
  1601. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1602. <el-input v-model="row.nov" clearable="true"></el-input>
  1603. </div>
  1604. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1605. {{row.nov}}
  1606. </div>
  1607. </template>
  1608. </el-table-column>
  1609. <el-table-column prop="dec" :label="this.monthList[11]">
  1610. <template slot-scope="{row}">
  1611. <div v-if="!shoudownHourUpdating">{{row.dec}}</div>
  1612. <div v-if="shoudownHourUpdating && (row.title != 'total time' && row.title != 'total hour')">
  1613. <el-input v-model="row.dec" clearable="true"></el-input>
  1614. </div>
  1615. <div v-if="shoudownHourUpdating && (row.title == 'total time' || row.title == 'total hour')">
  1616. {{row.dec}}
  1617. </div>
  1618. </template>
  1619. </el-table-column>
  1620. <el-table-column prop="total" label="total"></el-table-column>
  1621. </el-table-column>
  1622. </el-table>
  1623. <!-- Otherside -->
  1624. <el-table border :data="tableOtherside" style="width: 100%;">
  1625. <el-table-column label="Otherside">
  1626. <el-table-column width="150" prop="title" label="">
  1627. <template slot-scope="scope">
  1628. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1629. </template>
  1630. </el-table-column>
  1631. <el-table-column prop="unit" label="unit"></el-table-column>
  1632. <el-table-column prop="currently" label="currently"></el-table-column>
  1633. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  1634. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  1635. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  1636. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  1637. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  1638. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  1639. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  1640. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  1641. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  1642. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  1643. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  1644. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  1645. <el-table-column prop="total" label="total"></el-table-column>
  1646. <el-table-column prop="avg" label="avg"></el-table-column>
  1647. </el-table-column>
  1648. </el-table>
  1649. <!-- Chemical Consume -->
  1650. <div class="editDiv">
  1651. <el-button
  1652. :disabled="chemicalConsumeUpdating"
  1653. type="primary"
  1654. icon="el-icon-edit"
  1655. size="mini"
  1656. @click="handleChemicalConsumeUpdate"
  1657. v-hasPermi="['production:monthly:edit']"
  1658. >{{ $t('编辑Chemical Consume') }}</el-button>
  1659. <el-button
  1660. :disabled="!chemicalConsumeUpdating"
  1661. type="success"
  1662. icon="el-icon-check"
  1663. size="mini"
  1664. @click="handleConfirmChemicalConsumeUpdate"
  1665. v-hasPermi="['production:monthly:edit']"
  1666. >{{ $t('保存') }}</el-button>
  1667. <el-button
  1668. :disabled="!chemicalConsumeUpdating"
  1669. type="info"
  1670. icon="el-icon-close"
  1671. size="mini"
  1672. @click="handleCancelChemicalConsumeUpdate"
  1673. v-hasPermi="['production:monthly:edit']"
  1674. >{{ $t('取消') }}</el-button>
  1675. </div>
  1676. <el-table border :data="tableChemicalConsume" style="width: 100%;">
  1677. <el-table-column label="chemical consume">
  1678. <el-table-column width="150" prop="title" label="">
  1679. <template slot-scope="scope">
  1680. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1681. </template>
  1682. </el-table-column>
  1683. <el-table-column prop="unit" label="unit"></el-table-column>
  1684. <el-table-column prop="currently" label="currently"></el-table-column>
  1685. <el-table-column prop="jan" :label="this.monthList[0]">
  1686. <template slot-scope="{row}">
  1687. <div v-if="!chemicalConsumeUpdating">{{row.jan}}</div>
  1688. <div v-if="chemicalConsumeUpdating">
  1689. <el-input v-model="row.jan" clearable="true"></el-input>
  1690. </div>
  1691. </template>
  1692. </el-table-column>
  1693. <el-table-column prop="feb" :label="this.monthList[1]">
  1694. <template slot-scope="{row}">
  1695. <div v-if="!chemicalConsumeUpdating">{{row.feb}}</div>
  1696. <div v-if="chemicalConsumeUpdating">
  1697. <el-input v-model="row.feb" clearable="true"></el-input>
  1698. </div>
  1699. </template>
  1700. </el-table-column>
  1701. <el-table-column prop="mar" :label="this.monthList[2]">
  1702. <template slot-scope="{row}">
  1703. <div v-if="!chemicalConsumeUpdating">{{row.mar}}</div>
  1704. <div v-if="chemicalConsumeUpdating">
  1705. <el-input v-model="row.mar" clearable="true"></el-input>
  1706. </div>
  1707. </template>
  1708. </el-table-column>
  1709. <el-table-column prop="apr" :label="this.monthList[3]">
  1710. <template slot-scope="{row}">
  1711. <div v-if="!chemicalConsumeUpdating">{{row.apr}}</div>
  1712. <div v-if="chemicalConsumeUpdating">
  1713. <el-input v-model="row.apr" clearable="true"></el-input>
  1714. </div>
  1715. </template>
  1716. </el-table-column>
  1717. <el-table-column prop="may" :label="this.monthList[4]">
  1718. <template slot-scope="{row}">
  1719. <div v-if="!chemicalConsumeUpdating">{{row.may}}</div>
  1720. <div v-if="chemicalConsumeUpdating">
  1721. <el-input v-model="row.may" clearable="true"></el-input>
  1722. </div>
  1723. </template>
  1724. </el-table-column>
  1725. <el-table-column prop="jun" :label="this.monthList[5]">
  1726. <template slot-scope="{row}">
  1727. <div v-if="!chemicalConsumeUpdating">{{row.jun}}</div>
  1728. <div v-if="chemicalConsumeUpdating">
  1729. <el-input v-model="row.jun" clearable="true"></el-input>
  1730. </div>
  1731. </template>
  1732. </el-table-column>
  1733. <el-table-column prop="jul" :label="this.monthList[6]">
  1734. <template slot-scope="{row}">
  1735. <div v-if="!chemicalConsumeUpdating">{{row.jul}}</div>
  1736. <div v-if="chemicalConsumeUpdating">
  1737. <el-input v-model="row.jul" clearable="true"></el-input>
  1738. </div>
  1739. </template>
  1740. </el-table-column>
  1741. <el-table-column prop="aug" :label="this.monthList[7]">
  1742. <template slot-scope="{row}">
  1743. <div v-if="!chemicalConsumeUpdating">{{row.aug}}</div>
  1744. <div v-if="chemicalConsumeUpdating">
  1745. <el-input v-model="row.aug" clearable="true"></el-input>
  1746. </div>
  1747. </template>
  1748. </el-table-column>
  1749. <el-table-column prop="sep" :label="this.monthList[8]">
  1750. <template slot-scope="{row}">
  1751. <div v-if="!chemicalConsumeUpdating">{{row.sep}}</div>
  1752. <div v-if="chemicalConsumeUpdating">
  1753. <el-input v-model="row.sep" clearable="true"></el-input>
  1754. </div>
  1755. </template>
  1756. </el-table-column>
  1757. <el-table-column prop="oct" :label="this.monthList[9]">
  1758. <template slot-scope="{row}">
  1759. <div v-if="!chemicalConsumeUpdating">{{row.oct}}</div>
  1760. <div v-if="chemicalConsumeUpdating">
  1761. <el-input v-model="row.oct" clearable="true"></el-input>
  1762. </div>
  1763. </template>
  1764. </el-table-column>
  1765. <el-table-column prop="nov" :label="this.monthList[10]">
  1766. <template slot-scope="{row}">
  1767. <div v-if="!chemicalConsumeUpdating">{{row.nov}}</div>
  1768. <div v-if="chemicalConsumeUpdating">
  1769. <el-input v-model="row.nov" clearable="true"></el-input>
  1770. </div>
  1771. </template>
  1772. </el-table-column>
  1773. <el-table-column prop="dec" :label="this.monthList[11]">
  1774. <template slot-scope="{row}">
  1775. <div v-if="!chemicalConsumeUpdating">{{row.dec}}</div>
  1776. <div v-if="chemicalConsumeUpdating">
  1777. <el-input v-model="row.dec" clearable="true"></el-input>
  1778. </div>
  1779. </template>
  1780. </el-table-column>
  1781. <el-table-column prop="total" label="total"></el-table-column>
  1782. </el-table-column>
  1783. </el-table>
  1784. <!-- SCTU Utility Consumption -->
  1785. <el-table border :data="tableSCTUUtilityConsumption" style="width: 100%;">
  1786. <el-table-column label="SCTU Utility Consumption">
  1787. <el-table-column width="150" prop="title" label="">
  1788. <template slot-scope="scope">
  1789. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1790. </template>
  1791. </el-table-column>
  1792. <el-table-column prop="unit" label="unit"></el-table-column>
  1793. <el-table-column prop="currently" label="currently"></el-table-column>
  1794. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  1795. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  1796. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  1797. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  1798. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  1799. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  1800. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  1801. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  1802. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  1803. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  1804. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  1805. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  1806. <el-table-column prop="total" label="total"></el-table-column>
  1807. </el-table-column>
  1808. </el-table>
  1809. <!-- SUB Utility Consumption -->
  1810. <div class="editDiv">
  1811. <el-button
  1812. :disabled="subUtilityConsumptionUpdating"
  1813. type="primary"
  1814. icon="el-icon-edit"
  1815. size="mini"
  1816. @click="handleSubUtilityConsumptionUpdate"
  1817. v-hasPermi="['production:monthly:edit']"
  1818. >{{ $t('编辑SUB Utility Consumption') }}</el-button>
  1819. <el-button
  1820. :disabled="!subUtilityConsumptionUpdating"
  1821. type="success"
  1822. icon="el-icon-check"
  1823. size="mini"
  1824. @click="handleConfirmSubUtilityConsumptionUpdate"
  1825. v-hasPermi="['production:monthly:edit']"
  1826. >{{ $t('保存') }}</el-button>
  1827. <el-button
  1828. :disabled="!subUtilityConsumptionUpdating"
  1829. type="info"
  1830. icon="el-icon-close"
  1831. size="mini"
  1832. @click="handleCancelSUBUtilityConsumptionUpdate"
  1833. v-hasPermi="['production:monthly:edit']"
  1834. >{{ $t('取消') }}</el-button>
  1835. </div>
  1836. <el-table border :data="tableSUBUtilityConsumption" style="width: 100%;">
  1837. <el-table-column label="SUB Utility Consumption">
  1838. <el-table-column width="150" prop="title" label="">
  1839. <template slot-scope="scope">
  1840. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  1841. </template>
  1842. </el-table-column>
  1843. <el-table-column prop="unit" label="unit"></el-table-column>
  1844. <el-table-column prop="currently" label="currently"></el-table-column>
  1845. <el-table-column prop="jan" :label="this.monthList[0]">
  1846. <template slot-scope="{row}">
  1847. <div v-if="!subUtilityConsumptionUpdating">{{row.jan}}</div>
  1848. <div v-if="subUtilityConsumptionUpdating &&
  1849. (
  1850. row.title == 'LPG' ||
  1851. row.title == 'HPPA' ||
  1852. row.title == 'HP Steam fr SuB-net' ||
  1853. row.title == 'EO/EG purge gas' ||
  1854. row.title == 'H2 fr Syngas as fule' ||
  1855. row.title == 'HP product' ||
  1856. row.title == 'SUB1# FG FIC1302' ||
  1857. row.title == 'SUB2# FG FIC2302'
  1858. )
  1859. ">
  1860. <el-input v-model="row.jan" clearable="true"></el-input>
  1861. </div>
  1862. <div v-if="subUtilityConsumptionUpdating &&
  1863. (
  1864. row.title != 'LPG' &&
  1865. row.title != 'HPPA' &&
  1866. row.title != 'HP Steam fr SuB-net' &&
  1867. row.title != 'EO/EG purge gas' &&
  1868. row.title != 'H2 fr Syngas as fule' &&
  1869. row.title != 'HP product' &&
  1870. row.title != 'SUB1# FG FIC1302' &&
  1871. row.title != 'SUB2# FG FIC2302'
  1872. )
  1873. ">
  1874. {{row.jan}}
  1875. </div>
  1876. </template>
  1877. </el-table-column>
  1878. <el-table-column prop="feb" :label="this.monthList[1]">
  1879. <template slot-scope="{row}">
  1880. <div v-if="!subUtilityConsumptionUpdating">{{row.feb}}</div>
  1881. <div v-if="subUtilityConsumptionUpdating &&
  1882. (
  1883. row.title == 'LPG' ||
  1884. row.title == 'HPPA' ||
  1885. row.title == 'HP Steam fr SuB-net' ||
  1886. row.title == 'EO/EG purge gas' ||
  1887. row.title == 'H2 fr Syngas as fule' ||
  1888. row.title == 'HP product' ||
  1889. row.title == 'SUB1# FG FIC1302' ||
  1890. row.title == 'SUB2# FG FIC2302'
  1891. )
  1892. ">
  1893. <el-input v-model="row.feb" clearable="true"></el-input>
  1894. </div>
  1895. <div v-if="subUtilityConsumptionUpdating &&
  1896. (
  1897. row.title != 'LPG' &&
  1898. row.title != 'HPPA' &&
  1899. row.title != 'HP Steam fr SuB-net' &&
  1900. row.title != 'EO/EG purge gas' &&
  1901. row.title != 'H2 fr Syngas as fule' &&
  1902. row.title != 'HP product' &&
  1903. row.title != 'SUB1# FG FIC1302' &&
  1904. row.title != 'SUB2# FG FIC2302'
  1905. )
  1906. ">
  1907. {{row.feb}}
  1908. </div>
  1909. </template>
  1910. </el-table-column>
  1911. <el-table-column prop="mar" :label="this.monthList[2]">
  1912. <template slot-scope="{row}">
  1913. <div v-if="!subUtilityConsumptionUpdating">{{row.mar}}</div>
  1914. <div v-if="subUtilityConsumptionUpdating &&
  1915. (
  1916. row.title == 'LPG' ||
  1917. row.title == 'HPPA' ||
  1918. row.title == 'HP Steam fr SuB-net' ||
  1919. row.title == 'EO/EG purge gas' ||
  1920. row.title == 'H2 fr Syngas as fule' ||
  1921. row.title == 'HP product' ||
  1922. row.title == 'SUB1# FG FIC1302' ||
  1923. row.title == 'SUB2# FG FIC2302'
  1924. )
  1925. ">
  1926. <el-input v-model="row.mar" clearable="true"></el-input>
  1927. </div>
  1928. <div v-if="subUtilityConsumptionUpdating &&
  1929. (
  1930. row.title != 'LPG' &&
  1931. row.title != 'HPPA' &&
  1932. row.title != 'HP Steam fr SuB-net' &&
  1933. row.title != 'EO/EG purge gas' &&
  1934. row.title != 'H2 fr Syngas as fule' &&
  1935. row.title != 'HP product' &&
  1936. row.title != 'SUB1# FG FIC1302' &&
  1937. row.title != 'SUB2# FG FIC2302'
  1938. )
  1939. ">
  1940. {{row.mar}}
  1941. </div>
  1942. </template>
  1943. </el-table-column>
  1944. <el-table-column prop="apr" :label="this.monthList[3]">
  1945. <template slot-scope="{row}">
  1946. <div v-if="!subUtilityConsumptionUpdating">{{row.apr}}</div>
  1947. <div v-if="subUtilityConsumptionUpdating &&
  1948. (
  1949. row.title == 'LPG' ||
  1950. row.title == 'HPPA' ||
  1951. row.title == 'HP Steam fr SuB-net' ||
  1952. row.title == 'EO/EG purge gas' ||
  1953. row.title == 'H2 fr Syngas as fule' ||
  1954. row.title == 'HP product' ||
  1955. row.title == 'SUB1# FG FIC1302' ||
  1956. row.title == 'SUB2# FG FIC2302'
  1957. )
  1958. ">
  1959. <el-input v-model="row.apr" clearable="true"></el-input>
  1960. </div>
  1961. <div v-if="subUtilityConsumptionUpdating &&
  1962. (
  1963. row.title != 'LPG' &&
  1964. row.title != 'HPPA' &&
  1965. row.title != 'HP Steam fr SuB-net' &&
  1966. row.title != 'EO/EG purge gas' &&
  1967. row.title != 'H2 fr Syngas as fule' &&
  1968. row.title != 'HP product' &&
  1969. row.title != 'SUB1# FG FIC1302' &&
  1970. row.title != 'SUB2# FG FIC2302'
  1971. )
  1972. ">
  1973. {{row.apr}}
  1974. </div>
  1975. </template>
  1976. </el-table-column>
  1977. <el-table-column prop="may" :label="this.monthList[4]">
  1978. <template slot-scope="{row}">
  1979. <div v-if="!subUtilityConsumptionUpdating">{{row.may}}</div>
  1980. <div v-if="subUtilityConsumptionUpdating &&
  1981. (
  1982. row.title == 'LPG' ||
  1983. row.title == 'HPPA' ||
  1984. row.title == 'HP Steam fr SuB-net' ||
  1985. row.title == 'EO/EG purge gas' ||
  1986. row.title == 'H2 fr Syngas as fule' ||
  1987. row.title == 'HP product' ||
  1988. row.title == 'SUB1# FG FIC1302' ||
  1989. row.title == 'SUB2# FG FIC2302'
  1990. )
  1991. ">
  1992. <el-input v-model="row.may" clearable="true"></el-input>
  1993. </div>
  1994. <div v-if="subUtilityConsumptionUpdating &&
  1995. (
  1996. row.title != 'LPG' &&
  1997. row.title != 'HPPA' &&
  1998. row.title != 'HP Steam fr SuB-net' &&
  1999. row.title != 'EO/EG purge gas' &&
  2000. row.title != 'H2 fr Syngas as fule' &&
  2001. row.title != 'HP product' &&
  2002. row.title != 'SUB1# FG FIC1302' &&
  2003. row.title != 'SUB2# FG FIC2302'
  2004. )
  2005. ">
  2006. {{row.may}}
  2007. </div>
  2008. </template>
  2009. </el-table-column>
  2010. <el-table-column prop="jun" :label="this.monthList[5]">
  2011. <template slot-scope="{row}">
  2012. <div v-if="!subUtilityConsumptionUpdating">{{row.jun}}</div>
  2013. <div v-if="subUtilityConsumptionUpdating &&
  2014. (
  2015. row.title == 'LPG' ||
  2016. row.title == 'HPPA' ||
  2017. row.title == 'HP Steam fr SuB-net' ||
  2018. row.title == 'EO/EG purge gas' ||
  2019. row.title == 'H2 fr Syngas as fule' ||
  2020. row.title == 'HP product' ||
  2021. row.title == 'SUB1# FG FIC1302' ||
  2022. row.title == 'SUB2# FG FIC2302'
  2023. )
  2024. ">
  2025. <el-input v-model="row.jun" clearable="true"></el-input>
  2026. </div>
  2027. <div v-if="subUtilityConsumptionUpdating &&
  2028. (
  2029. row.title != 'LPG' &&
  2030. row.title != 'HPPA' &&
  2031. row.title != 'HP Steam fr SuB-net' &&
  2032. row.title != 'EO/EG purge gas' &&
  2033. row.title != 'H2 fr Syngas as fule' &&
  2034. row.title != 'HP product' &&
  2035. row.title != 'SUB1# FG FIC1302' &&
  2036. row.title != 'SUB2# FG FIC2302'
  2037. )
  2038. ">
  2039. {{row.jun}}
  2040. </div>
  2041. </template>
  2042. </el-table-column>
  2043. <el-table-column prop="jul" :label="this.monthList[6]">
  2044. <template slot-scope="{row}">
  2045. <div v-if="!subUtilityConsumptionUpdating">{{row.jul}}</div>
  2046. <div v-if="subUtilityConsumptionUpdating &&
  2047. (
  2048. row.title == 'LPG' ||
  2049. row.title == 'HPPA' ||
  2050. row.title == 'HP Steam fr SuB-net' ||
  2051. row.title == 'EO/EG purge gas' ||
  2052. row.title == 'H2 fr Syngas as fule' ||
  2053. row.title == 'HP product' ||
  2054. row.title == 'SUB1# FG FIC1302' ||
  2055. row.title == 'SUB2# FG FIC2302'
  2056. )
  2057. ">
  2058. <el-input v-model="row.jul" clearable="true"></el-input>
  2059. </div>
  2060. <div v-if="subUtilityConsumptionUpdating &&
  2061. (
  2062. row.title != 'LPG' &&
  2063. row.title != 'HPPA' &&
  2064. row.title != 'HP Steam fr SuB-net' &&
  2065. row.title != 'EO/EG purge gas' &&
  2066. row.title != 'H2 fr Syngas as fule' &&
  2067. row.title != 'HP product' &&
  2068. row.title != 'SUB1# FG FIC1302' &&
  2069. row.title != 'SUB2# FG FIC2302'
  2070. )
  2071. ">
  2072. {{row.jul}}
  2073. </div>
  2074. </template>
  2075. </el-table-column>
  2076. <el-table-column prop="aug" :label="this.monthList[7]">
  2077. <template slot-scope="{row}">
  2078. <div v-if="!subUtilityConsumptionUpdating">{{row.aug}}</div>
  2079. <div v-if="subUtilityConsumptionUpdating &&
  2080. (
  2081. row.title == 'LPG' ||
  2082. row.title == 'HPPA' ||
  2083. row.title == 'HP Steam fr SuB-net' ||
  2084. row.title == 'EO/EG purge gas' ||
  2085. row.title == 'H2 fr Syngas as fule' ||
  2086. row.title == 'HP product' ||
  2087. row.title == 'SUB1# FG FIC1302' ||
  2088. row.title == 'SUB2# FG FIC2302'
  2089. )
  2090. ">
  2091. <el-input v-model="row.aug" clearable="true"></el-input>
  2092. </div>
  2093. <div v-if="subUtilityConsumptionUpdating &&
  2094. (
  2095. row.title != 'LPG' &&
  2096. row.title != 'HPPA' &&
  2097. row.title != 'HP Steam fr SuB-net' &&
  2098. row.title != 'EO/EG purge gas' &&
  2099. row.title != 'H2 fr Syngas as fule' &&
  2100. row.title != 'HP product' &&
  2101. row.title != 'SUB1# FG FIC1302' &&
  2102. row.title != 'SUB2# FG FIC2302'
  2103. )
  2104. ">
  2105. {{row.aug}}
  2106. </div>
  2107. </template>
  2108. </el-table-column>
  2109. <el-table-column prop="sep" :label="this.monthList[8]">
  2110. <template slot-scope="{row}">
  2111. <div v-if="!subUtilityConsumptionUpdating">{{row.sep}}</div>
  2112. <div v-if="subUtilityConsumptionUpdating &&
  2113. (
  2114. row.title == 'LPG' ||
  2115. row.title == 'HPPA' ||
  2116. row.title == 'HP Steam fr SuB-net' ||
  2117. row.title == 'EO/EG purge gas' ||
  2118. row.title == 'H2 fr Syngas as fule' ||
  2119. row.title == 'HP product' ||
  2120. row.title == 'SUB1# FG FIC1302' ||
  2121. row.title == 'SUB2# FG FIC2302'
  2122. )
  2123. ">
  2124. <el-input v-model="row.sep" clearable="true"></el-input>
  2125. </div>
  2126. <div v-if="subUtilityConsumptionUpdating &&
  2127. (
  2128. row.title != 'LPG' &&
  2129. row.title != 'HPPA' &&
  2130. row.title != 'HP Steam fr SuB-net' &&
  2131. row.title != 'EO/EG purge gas' &&
  2132. row.title != 'H2 fr Syngas as fule' &&
  2133. row.title != 'HP product' &&
  2134. row.title != 'SUB1# FG FIC1302' &&
  2135. row.title != 'SUB2# FG FIC2302'
  2136. )
  2137. ">
  2138. {{row.sep}}
  2139. </div>
  2140. </template>
  2141. </el-table-column>
  2142. <el-table-column prop="oct" :label="this.monthList[9]">
  2143. <template slot-scope="{row}">
  2144. <div v-if="!subUtilityConsumptionUpdating">{{row.oct}}</div>
  2145. <div v-if="subUtilityConsumptionUpdating &&
  2146. (
  2147. row.title == 'LPG' ||
  2148. row.title == 'HPPA' ||
  2149. row.title == 'HP Steam fr SuB-net' ||
  2150. row.title == 'EO/EG purge gas' ||
  2151. row.title == 'H2 fr Syngas as fule' ||
  2152. row.title == 'HP product' ||
  2153. row.title == 'SUB1# FG FIC1302' ||
  2154. row.title == 'SUB2# FG FIC2302'
  2155. )
  2156. ">
  2157. <el-input v-model="row.oct" clearable="true"></el-input>
  2158. </div>
  2159. <div v-if="subUtilityConsumptionUpdating &&
  2160. (
  2161. row.title != 'LPG' &&
  2162. row.title != 'HPPA' &&
  2163. row.title != 'HP Steam fr SuB-net' &&
  2164. row.title != 'EO/EG purge gas' &&
  2165. row.title != 'H2 fr Syngas as fule' &&
  2166. row.title != 'HP product' &&
  2167. row.title != 'SUB1# FG FIC1302' &&
  2168. row.title != 'SUB2# FG FIC2302'
  2169. )
  2170. ">
  2171. {{row.oct}}
  2172. </div>
  2173. </template>
  2174. </el-table-column>
  2175. <el-table-column prop="nov" :label="this.monthList[10]">
  2176. <template slot-scope="{row}">
  2177. <div v-if="!subUtilityConsumptionUpdating">{{row.nov}}</div>
  2178. <div v-if="subUtilityConsumptionUpdating &&
  2179. (
  2180. row.title == 'LPG' ||
  2181. row.title == 'HPPA' ||
  2182. row.title == 'HP Steam fr SuB-net' ||
  2183. row.title == 'EO/EG purge gas' ||
  2184. row.title == 'H2 fr Syngas as fule' ||
  2185. row.title == 'HP product' ||
  2186. row.title == 'SUB1# FG FIC1302' ||
  2187. row.title == 'SUB2# FG FIC2302'
  2188. )
  2189. ">
  2190. <el-input v-model="row.nov" clearable="true"></el-input>
  2191. </div>
  2192. <div v-if="subUtilityConsumptionUpdating &&
  2193. (
  2194. row.title != 'LPG' &&
  2195. row.title != 'HPPA' &&
  2196. row.title != 'HP Steam fr SuB-net' &&
  2197. row.title != 'EO/EG purge gas' &&
  2198. row.title != 'H2 fr Syngas as fule' &&
  2199. row.title != 'HP product' &&
  2200. row.title != 'SUB1# FG FIC1302' &&
  2201. row.title != 'SUB2# FG FIC2302'
  2202. )
  2203. ">
  2204. {{row.nov}}
  2205. </div>
  2206. </template>
  2207. </el-table-column>
  2208. <el-table-column prop="dec" :label="this.monthList[11]">
  2209. <template slot-scope="{row}">
  2210. <div v-if="!subUtilityConsumptionUpdating">{{row.dec}}</div>
  2211. <div v-if="subUtilityConsumptionUpdating &&
  2212. (
  2213. row.title == 'LPG' ||
  2214. row.title == 'HPPA' ||
  2215. row.title == 'HP Steam fr SuB-net' ||
  2216. row.title == 'EO/EG purge gas' ||
  2217. row.title == 'H2 fr Syngas as fule' ||
  2218. row.title == 'HP product' ||
  2219. row.title == 'SUB1# FG FIC1302' ||
  2220. row.title == 'SUB2# FG FIC2302'
  2221. )
  2222. ">
  2223. <el-input v-model="row.dec" clearable="true"></el-input>
  2224. </div>
  2225. <div v-if="subUtilityConsumptionUpdating &&
  2226. (
  2227. row.title != 'LPG' &&
  2228. row.title != 'HPPA' &&
  2229. row.title != 'HP Steam fr SuB-net' &&
  2230. row.title != 'EO/EG purge gas' &&
  2231. row.title != 'H2 fr Syngas as fule' &&
  2232. row.title != 'HP product' &&
  2233. row.title != 'SUB1# FG FIC1302' &&
  2234. row.title != 'SUB2# FG FIC2302'
  2235. )
  2236. ">
  2237. {{row.dec}}
  2238. </div>
  2239. </template>
  2240. </el-table-column>
  2241. <el-table-column prop="total" label="total"></el-table-column>
  2242. </el-table-column>
  2243. </el-table>
  2244. <!-- SCTF Utility Consumption -->
  2245. <div class="editDiv">
  2246. <el-button
  2247. :disabled="sctfUtilityConsumptionUpdating"
  2248. type="primary"
  2249. icon="el-icon-edit"
  2250. size="mini"
  2251. @click="handleSctfUtilityConsumptionUpdate"
  2252. v-hasPermi="['production:monthly:edit']"
  2253. >{{ $t('编辑SCTF Utility Consumption') }}</el-button>
  2254. <el-button
  2255. :disabled="!sctfUtilityConsumptionUpdating"
  2256. type="success"
  2257. icon="el-icon-check"
  2258. size="mini"
  2259. @click="handleConfirmSctfUtilityConsumptionUpdate"
  2260. v-hasPermi="['production:monthly:edit']"
  2261. >{{ $t('保存') }}</el-button>
  2262. <el-button
  2263. :disabled="!sctfUtilityConsumptionUpdating"
  2264. type="info"
  2265. icon="el-icon-close"
  2266. size="mini"
  2267. @click="handleCancelSCTFUtilityConsumptionUpdate"
  2268. v-hasPermi="['production:monthly:edit']"
  2269. >{{ $t('取消') }}</el-button>
  2270. </div>
  2271. <el-table border :data="tableSCTFUtilityConsumption" style="width: 100%;">
  2272. <el-table-column label="SCTF Utility Consumption">
  2273. <el-table-column width="150" prop="title" label="">
  2274. <template slot-scope="scope">
  2275. <div @click="columnOnclick(scope.row)">{{scope.row.title}}</div>
  2276. </template>
  2277. </el-table-column>
  2278. <el-table-column prop="unit" label="unit"></el-table-column>
  2279. <el-table-column prop="currently" label="currently"></el-table-column>
  2280. <el-table-column prop="jan" :label="this.monthList[0]">
  2281. <template slot-scope="{row}">
  2282. <div v-if="!sctfUtilityConsumptionUpdating">{{row.jan}}</div>
  2283. <div v-if="sctfUtilityConsumptionUpdating">
  2284. <el-input v-model="row.jan" clearable="true"></el-input>
  2285. </div>
  2286. </template>
  2287. </el-table-column>
  2288. <el-table-column prop="feb" :label="this.monthList[1]">
  2289. <template slot-scope="{row}">
  2290. <div v-if="!sctfUtilityConsumptionUpdating">{{row.feb}}</div>
  2291. <div v-if="sctfUtilityConsumptionUpdating">
  2292. <el-input v-model="row.feb" clearable="true"></el-input>
  2293. </div>
  2294. </template>
  2295. </el-table-column>
  2296. <el-table-column prop="mar" :label="this.monthList[2]">
  2297. <template slot-scope="{row}">
  2298. <div v-if="!sctfUtilityConsumptionUpdating">{{row.mar}}</div>
  2299. <div v-if="sctfUtilityConsumptionUpdating">
  2300. <el-input v-model="row.mar" clearable="true"></el-input>
  2301. </div>
  2302. </template>
  2303. </el-table-column>
  2304. <el-table-column prop="apr" :label="this.monthList[3]">
  2305. <template slot-scope="{row}">
  2306. <div v-if="!sctfUtilityConsumptionUpdating">{{row.apr}}</div>
  2307. <div v-if="sctfUtilityConsumptionUpdating">
  2308. <el-input v-model="row.apr" clearable="true"></el-input>
  2309. </div>
  2310. </template>
  2311. </el-table-column>
  2312. <el-table-column prop="may" :label="this.monthList[4]">
  2313. <template slot-scope="{row}">
  2314. <div v-if="!sctfUtilityConsumptionUpdating">{{row.may}}</div>
  2315. <div v-if="sctfUtilityConsumptionUpdating">
  2316. <el-input v-model="row.may" clearable="true"></el-input>
  2317. </div>
  2318. </template>
  2319. </el-table-column>
  2320. <el-table-column prop="jun" :label="this.monthList[5]">
  2321. <template slot-scope="{row}">
  2322. <div v-if="!sctfUtilityConsumptionUpdating">{{row.jun}}</div>
  2323. <div v-if="sctfUtilityConsumptionUpdating">
  2324. <el-input v-model="row.jun" clearable="true"></el-input>
  2325. </div>
  2326. </template>
  2327. </el-table-column>
  2328. <el-table-column prop="jul" :label="this.monthList[6]">
  2329. <template slot-scope="{row}">
  2330. <div v-if="!sctfUtilityConsumptionUpdating">{{row.jul}}</div>
  2331. <div v-if="sctfUtilityConsumptionUpdating">
  2332. <el-input v-model="row.jul" clearable="true"></el-input>
  2333. </div>
  2334. </template>
  2335. </el-table-column>
  2336. <el-table-column prop="aug" :label="this.monthList[7]">
  2337. <template slot-scope="{row}">
  2338. <div v-if="!sctfUtilityConsumptionUpdating">{{row.aug}}</div>
  2339. <div v-if="sctfUtilityConsumptionUpdating">
  2340. <el-input v-model="row.aug" clearable="true"></el-input>
  2341. </div>
  2342. </template>
  2343. </el-table-column>
  2344. <el-table-column prop="sep" :label="this.monthList[8]">
  2345. <template slot-scope="{row}">
  2346. <div v-if="!sctfUtilityConsumptionUpdating">{{row.sep}}</div>
  2347. <div v-if="sctfUtilityConsumptionUpdating">
  2348. <el-input v-model="row.sep" clearable="true"></el-input>
  2349. </div>
  2350. </template>
  2351. </el-table-column>
  2352. <el-table-column prop="oct" :label="this.monthList[9]">
  2353. <template slot-scope="{row}">
  2354. <div v-if="!sctfUtilityConsumptionUpdating">{{row.oct}}</div>
  2355. <div v-if="sctfUtilityConsumptionUpdating">
  2356. <el-input v-model="row.oct" clearable="true"></el-input>
  2357. </div>
  2358. </template>
  2359. </el-table-column>
  2360. <el-table-column prop="nov" :label="this.monthList[10]">
  2361. <template slot-scope="{row}">
  2362. <div v-if="!sctfUtilityConsumptionUpdating">{{row.nov}}</div>
  2363. <div v-if="sctfUtilityConsumptionUpdating">
  2364. <el-input v-model="row.nov" clearable="true"></el-input>
  2365. </div>
  2366. </template>
  2367. </el-table-column>
  2368. <el-table-column prop="dec" :label="this.monthList[11]">
  2369. <template slot-scope="{row}">
  2370. <div v-if="!sctfUtilityConsumptionUpdating">{{row.dec}}</div>
  2371. <div v-if="sctfUtilityConsumptionUpdating">
  2372. <el-input v-model="row.dec" clearable="true"></el-input>
  2373. </div>
  2374. </template>
  2375. </el-table-column>
  2376. <el-table-column prop="total" label="total"></el-table-column>
  2377. </el-table-column>
  2378. </el-table>
  2379. <!-- KBI -->
  2380. <div class="editDiv">
  2381. <el-button
  2382. :disabled="kbiUpdating"
  2383. type="primary"
  2384. icon="el-icon-edit"
  2385. size="mini"
  2386. @click="handleKbiUpdate"
  2387. v-hasPermi="['production:monthly:edit']"
  2388. >{{ $t('编辑KBI') }}</el-button>
  2389. <el-button
  2390. :disabled="!kbiUpdating"
  2391. type="success"
  2392. icon="el-icon-check"
  2393. size="mini"
  2394. @click="handleConfirmKbiUpdate"
  2395. v-hasPermi="['production:monthly:edit']"
  2396. >{{ $t('保存') }}</el-button>
  2397. <el-button
  2398. :disabled="!kbiUpdating"
  2399. type="info"
  2400. icon="el-icon-close"
  2401. size="mini"
  2402. @click="handleCancelKbiUpdate"
  2403. v-hasPermi="['production:monthly:edit']"
  2404. >{{ $t('取消') }}</el-button>
  2405. </div>
  2406. <el-table border :data="tableKBI" style="width: 100%;">
  2407. <el-table-column prop="title" label="KBI" width="150"></el-table-column>
  2408. <el-table-column prop="unit" label="unit"></el-table-column>
  2409. <el-table-column prop="currently" label="currently"></el-table-column>
  2410. <el-table-column prop="jan" :label="this.monthList[0]">
  2411. <template slot-scope="{row}">
  2412. <div v-if="!kbiUpdating">{{row.jan}}</div>
  2413. <div v-if="kbiUpdating &&
  2414. (
  2415. row.title == 'C2+C3 target' ||
  2416. row.title == 'C2 target' ||
  2417. row.title == 'BTX target' ||
  2418. row.title == 'LTI'
  2419. )
  2420. ">
  2421. <el-input v-model="row.jan" clearable="true"></el-input>
  2422. </div>
  2423. <div v-if="kbiUpdating &&
  2424. (
  2425. row.title != 'C2+C3 target' &&
  2426. row.title != 'C2 target' &&
  2427. row.title != 'BTX target' &&
  2428. row.title != 'LTI'
  2429. )
  2430. ">
  2431. {{row.jan}}
  2432. </div>
  2433. </template>
  2434. </el-table-column>
  2435. <el-table-column prop="feb" :label="this.monthList[1]">
  2436. <template slot-scope="{row}">
  2437. <div v-if="!kbiUpdating">{{row.feb}}</div>
  2438. <div v-if="kbiUpdating &&
  2439. (
  2440. row.title == 'C2+C3 target' ||
  2441. row.title == 'C2 target' ||
  2442. row.title == 'BTX target' ||
  2443. row.title == 'LTI'
  2444. )
  2445. ">
  2446. <el-input v-model="row.feb" clearable="true"></el-input>
  2447. </div>
  2448. <div v-if="kbiUpdating &&
  2449. (
  2450. row.title != 'C2+C3 target' &&
  2451. row.title != 'C2 target' &&
  2452. row.title != 'BTX target' &&
  2453. row.title != 'LTI'
  2454. )
  2455. ">
  2456. {{row.feb}}
  2457. </div>
  2458. </template>
  2459. </el-table-column>
  2460. <el-table-column prop="mar" :label="this.monthList[2]">
  2461. <template slot-scope="{row}">
  2462. <div v-if="!kbiUpdating">{{row.mar}}</div>
  2463. <div v-if="kbiUpdating &&
  2464. (
  2465. row.title == 'C2+C3 target' ||
  2466. row.title == 'C2 target' ||
  2467. row.title == 'BTX target' ||
  2468. row.title == 'LTI'
  2469. )
  2470. ">
  2471. <el-input v-model="row.mar" clearable="true"></el-input>
  2472. </div>
  2473. <div v-if="kbiUpdating &&
  2474. (
  2475. row.title != 'C2+C3 target' &&
  2476. row.title != 'C2 target' &&
  2477. row.title != 'BTX target' &&
  2478. row.title != 'LTI'
  2479. )
  2480. ">
  2481. {{row.mar}}
  2482. </div>
  2483. </template>
  2484. </el-table-column>
  2485. <el-table-column prop="apr" :label="this.monthList[3]">
  2486. <template slot-scope="{row}">
  2487. <div v-if="!kbiUpdating">{{row.apr}}</div>
  2488. <div v-if="kbiUpdating &&
  2489. (
  2490. row.title == 'C2+C3 target' ||
  2491. row.title == 'C2 target' ||
  2492. row.title == 'BTX target' ||
  2493. row.title == 'LTI'
  2494. )
  2495. ">
  2496. <el-input v-model="row.apr" clearable="true"></el-input>
  2497. </div>
  2498. <div v-if="kbiUpdating &&
  2499. (
  2500. row.title != 'C2+C3 target' &&
  2501. row.title != 'C2 target' &&
  2502. row.title != 'BTX target' &&
  2503. row.title != 'LTI'
  2504. )
  2505. ">
  2506. {{row.apr}}
  2507. </div>
  2508. </template>
  2509. </el-table-column>
  2510. <el-table-column prop="may" :label="this.monthList[4]">
  2511. <template slot-scope="{row}">
  2512. <div v-if="!kbiUpdating">{{row.may}}</div>
  2513. <div v-if="kbiUpdating &&
  2514. (
  2515. row.title == 'C2+C3 target' ||
  2516. row.title == 'C2 target' ||
  2517. row.title == 'BTX target' ||
  2518. row.title == 'LTI'
  2519. )
  2520. ">
  2521. <el-input v-model="row.may" clearable="true"></el-input>
  2522. </div>
  2523. <div v-if="kbiUpdating &&
  2524. (
  2525. row.title != 'C2+C3 target' &&
  2526. row.title != 'C2 target' &&
  2527. row.title != 'BTX target' &&
  2528. row.title != 'LTI'
  2529. )
  2530. ">
  2531. {{row.may}}
  2532. </div>
  2533. </template>
  2534. </el-table-column>
  2535. <el-table-column prop="jun" :label="this.monthList[5]">
  2536. <template slot-scope="{row}">
  2537. <div v-if="!kbiUpdating">{{row.jun}}</div>
  2538. <div v-if="kbiUpdating &&
  2539. (
  2540. row.title == 'C2+C3 target' ||
  2541. row.title == 'C2 target' ||
  2542. row.title == 'BTX target' ||
  2543. row.title == 'LTI'
  2544. )
  2545. ">
  2546. <el-input v-model="row.jun" clearable="true"></el-input>
  2547. </div>
  2548. <div v-if="kbiUpdating &&
  2549. (
  2550. row.title != 'C2+C3 target' &&
  2551. row.title != 'C2 target' &&
  2552. row.title != 'BTX target' &&
  2553. row.title != 'LTI'
  2554. )
  2555. ">
  2556. {{row.jun}}
  2557. </div>
  2558. </template>
  2559. </el-table-column>
  2560. <el-table-column prop="jul" :label="this.monthList[6]">
  2561. <template slot-scope="{row}">
  2562. <div v-if="!kbiUpdating">{{row.jul}}</div>
  2563. <div v-if="kbiUpdating &&
  2564. (
  2565. row.title == 'C2+C3 target' ||
  2566. row.title == 'C2 target' ||
  2567. row.title == 'BTX target' ||
  2568. row.title == 'LTI'
  2569. )
  2570. ">
  2571. <el-input v-model="row.jul" clearable="true"></el-input>
  2572. </div>
  2573. <div v-if="kbiUpdating &&
  2574. (
  2575. row.title != 'C2+C3 target' &&
  2576. row.title != 'C2 target' &&
  2577. row.title != 'BTX target' &&
  2578. row.title != 'LTI'
  2579. )
  2580. ">
  2581. {{row.jul}}
  2582. </div>
  2583. </template>
  2584. </el-table-column>
  2585. <el-table-column prop="aug" :label="this.monthList[7]">
  2586. <template slot-scope="{row}">
  2587. <div v-if="!kbiUpdating">{{row.aug}}</div>
  2588. <div v-if="kbiUpdating &&
  2589. (
  2590. row.title == 'C2+C3 target' ||
  2591. row.title == 'C2 target' ||
  2592. row.title == 'BTX target' ||
  2593. row.title == 'LTI'
  2594. )
  2595. ">
  2596. <el-input v-model="row.aug" clearable="true"></el-input>
  2597. </div>
  2598. <div v-if="kbiUpdating &&
  2599. (
  2600. row.title != 'C2+C3 target' &&
  2601. row.title != 'C2 target' &&
  2602. row.title != 'BTX target' &&
  2603. row.title != 'LTI'
  2604. )
  2605. ">
  2606. {{row.aug}}
  2607. </div>
  2608. </template>
  2609. </el-table-column>
  2610. <el-table-column prop="sep" :label="this.monthList[8]">
  2611. <template slot-scope="{row}">
  2612. <div v-if="!kbiUpdating">{{row.sep}}</div>
  2613. <div v-if="kbiUpdating &&
  2614. (
  2615. row.title == 'C2+C3 target' ||
  2616. row.title == 'C2 target' ||
  2617. row.title == 'BTX target' ||
  2618. row.title == 'LTI'
  2619. )
  2620. ">
  2621. <el-input v-model="row.sep" clearable="true"></el-input>
  2622. </div>
  2623. <div v-if="kbiUpdating &&
  2624. (
  2625. row.title != 'C2+C3 target' &&
  2626. row.title != 'C2 target' &&
  2627. row.title != 'BTX target' &&
  2628. row.title != 'LTI'
  2629. )
  2630. ">
  2631. {{row.sep}}
  2632. </div>
  2633. </template>
  2634. </el-table-column>
  2635. <el-table-column prop="oct" :label="this.monthList[9]">
  2636. <template slot-scope="{row}">
  2637. <div v-if="!kbiUpdating">{{row.oct}}</div>
  2638. <div v-if="kbiUpdating &&
  2639. (
  2640. row.title == 'C2+C3 target' ||
  2641. row.title == 'C2 target' ||
  2642. row.title == 'BTX target' ||
  2643. row.title == 'LTI'
  2644. )
  2645. ">
  2646. <el-input v-model="row.oct" clearable="true"></el-input>
  2647. </div>
  2648. <div v-if="kbiUpdating &&
  2649. (
  2650. row.title != 'C2+C3 target' &&
  2651. row.title != 'C2 target' &&
  2652. row.title != 'BTX target' &&
  2653. row.title != 'LTI'
  2654. )
  2655. ">
  2656. {{row.oct}}
  2657. </div>
  2658. </template>
  2659. </el-table-column>
  2660. <el-table-column prop="nov" :label="this.monthList[10]">
  2661. <template slot-scope="{row}">
  2662. <div v-if="!kbiUpdating">{{row.nov}}</div>
  2663. <div v-if="kbiUpdating &&
  2664. (
  2665. row.title == 'C2+C3 target' ||
  2666. row.title == 'C2 target' ||
  2667. row.title == 'BTX target' ||
  2668. row.title == 'LTI'
  2669. )
  2670. ">
  2671. <el-input v-model="row.nov" clearable="true"></el-input>
  2672. </div>
  2673. <div v-if="kbiUpdating &&
  2674. (
  2675. row.title != 'C2+C3 target' &&
  2676. row.title != 'C2 target' &&
  2677. row.title != 'BTX target' &&
  2678. row.title != 'LTI'
  2679. )
  2680. ">
  2681. {{row.nov}}
  2682. </div>
  2683. </template>
  2684. </el-table-column>
  2685. <el-table-column prop="dec" :label="this.monthList[11]">
  2686. <template slot-scope="{row}">
  2687. <div v-if="!kbiUpdating">{{row.dec}}</div>
  2688. <div v-if="kbiUpdating &&
  2689. (
  2690. row.title == 'C2+C3 target' ||
  2691. row.title == 'C2 target' ||
  2692. row.title == 'BTX target' ||
  2693. row.title == 'LTI'
  2694. )
  2695. ">
  2696. <el-input v-model="row.dec" clearable="true"></el-input>
  2697. </div>
  2698. <div v-if="kbiUpdating &&
  2699. (
  2700. row.title != 'C2+C3 target' &&
  2701. row.title != 'C2 target' &&
  2702. row.title != 'BTX target' &&
  2703. row.title != 'LTI'
  2704. )
  2705. ">
  2706. {{row.dec}}
  2707. </div>
  2708. </template>
  2709. </el-table-column>
  2710. <el-table-column prop="total" label="total"></el-table-column>
  2711. <el-table-column prop="avg" label="avg"></el-table-column>
  2712. </el-table>
  2713. <!-- Summary -->
  2714. <el-table border :data="tableSummary" style="width: 100%;">
  2715. <el-table-column label="BCC装置主要原材料及公用工程消耗">
  2716. <el-table-column prop="title" label="项目" width="150"></el-table-column>
  2717. <el-table-column prop="unit" label="unit"></el-table-column>
  2718. <el-table-column prop="currently" label="currently"></el-table-column>
  2719. <el-table-column prop="jan" :label="this.monthList[0]"></el-table-column>
  2720. <el-table-column prop="feb" :label="this.monthList[1]"></el-table-column>
  2721. <el-table-column prop="mar" :label="this.monthList[2]"></el-table-column>
  2722. <el-table-column prop="apr" :label="this.monthList[3]"></el-table-column>
  2723. <el-table-column prop="may" :label="this.monthList[4]"></el-table-column>
  2724. <el-table-column prop="jun" :label="this.monthList[5]"></el-table-column>
  2725. <el-table-column prop="jul" :label="this.monthList[6]"></el-table-column>
  2726. <el-table-column prop="aug" :label="this.monthList[7]"></el-table-column>
  2727. <el-table-column prop="sep" :label="this.monthList[8]"></el-table-column>
  2728. <el-table-column prop="oct" :label="this.monthList[9]"></el-table-column>
  2729. <el-table-column prop="nov" :label="this.monthList[10]"></el-table-column>
  2730. <el-table-column prop="dec" :label="this.monthList[11]"></el-table-column>
  2731. <el-table-column prop="total" label="total"></el-table-column>
  2732. </el-table-column>
  2733. </el-table>
  2734. <!-- 趋势分析对话框 -->
  2735. <el-dialog @close="disposeChart" :title="analysis.title" :visible.sync="analysis.open" width="1400px" append-to-body>
  2736. <el-form :model="analysisQueryParams" ref="queryForm" :inline="true" label-width="68px">
  2737. <el-form-item label="开始时间" prop="startDate">
  2738. <el-date-picker
  2739. v-model="analysisDialogElement.startDate"
  2740. type="month"
  2741. placeholder="选择开始时间"
  2742. @change="handleAnalysisTimeIntervalChange">
  2743. </el-date-picker>
  2744. </el-form-item>
  2745. <el-form-item label="结束时间" prop="endDate">
  2746. <el-date-picker
  2747. v-model="analysisDialogElement.endDate"
  2748. type="month"
  2749. placeholder="选择结束时间"
  2750. @change="handleAnalysisTimeIntervalChange">
  2751. </el-date-picker>
  2752. </el-form-item>
  2753. </el-form>
  2754. <div id="trendChart" style="width:1340px;height:600px;"></div>
  2755. </el-dialog>
  2756. </div>
  2757. </template>
  2758. <script>
  2759. import {
  2760. getAnalysisData,
  2761. getCrackerRawMaterial,
  2762. getCrackerOutputProduct,
  2763. getAromaticsRawMaterial,
  2764. getAromaticsOutputProduct,
  2765. getEligibleProductRate,
  2766. getProductYield,
  2767. getCrackerUtilityConsumption,
  2768. getCrackerEnergyConsumption,
  2769. getAromaticsUtilityConsumption,
  2770. getAromaticsEnergyConsumption,
  2771. getPlantLoad,
  2772. getCostFrEthylene,
  2773. getRuningRate,
  2774. getShoudownHour,
  2775. getOtherside,
  2776. getChemicalConsume,
  2777. getSCTUUtilityConsumption,
  2778. getSUBUtilityConsumption,
  2779. getSCTFUtilityConsumption,
  2780. getKbi,
  2781. getSummary,
  2782. updateEligibleProductRate,
  2783. updateCrackerUtilityConsumption,
  2784. updateAromaticsUtilityConsumption,
  2785. updateShoudownHour,
  2786. updateRuningRate,
  2787. updateChemicalConsume,
  2788. updateCostFrEthylene,
  2789. updateSUBUtilityConsumption,
  2790. updateSctfUtilityConsumption,
  2791. updateKbi
  2792. } from "@/api/production/monthly";
  2793. export default {
  2794. name: "Monthly",
  2795. data() {
  2796. return {
  2797. // 修改中
  2798. subUtilityConsumptionUpdating: false,
  2799. sctfUtilityConsumptionUpdating: false,
  2800. kbiUpdating: false,
  2801. costFrEthyleneUpdating: false,
  2802. chemicalConsumeUpdating: false,
  2803. runingRateUpdating: false,
  2804. shoudownHourUpdating: false,
  2805. aromaticsUtilityConsumptionUpdating: false,
  2806. crackerUtilityConsumptionUpdating: false,
  2807. eligibleProductRateUpdating: false,
  2808. // 趋势图y轴数值
  2809. valueList: [],
  2810. // 趋势图x轴日期
  2811. dateList: [],
  2812. // y轴最大值
  2813. maxValue: null,
  2814. // y轴最小值
  2815. minValue: null,
  2816. // 趋势图
  2817. chart: null,
  2818. // 趋势分析参数
  2819. analysis: {
  2820. // 是否显示弹出层
  2821. open: false,
  2822. // 弹出层标题
  2823. title: "",
  2824. },
  2825. // 趋势图查询参数
  2826. analysisQueryParams: {
  2827. // 指标
  2828. item: null,
  2829. // 截止年份
  2830. toYear: 0,
  2831. // 截止月份
  2832. toMonth: 0,
  2833. // 开始年份
  2834. fromYear: 0,
  2835. // 开始月份
  2836. fromMonth: 0,
  2837. },
  2838. // 对话框控件值
  2839. analysisDialogElement: {
  2840. // 开始时间
  2841. startDate: null,
  2842. // 结束时间
  2843. endDate: null,
  2844. },
  2845. // 年份
  2846. year: null,
  2847. // 月份的固定表示
  2848. monthList: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
  2849. tableCrackerRawMaterial: [],
  2850. tableCrackerOutputProduct: [],
  2851. tableAromaticsRawMaterial: [],
  2852. tableAromaticsOutputProduct: [],
  2853. tableEligibleProductRate: [],
  2854. tableProductYield: [],
  2855. tableCrackerUtilityConsumption: [],
  2856. tableCrackerEnergyConsumption: [],
  2857. tableAromaticsUtilityConsumption: [],
  2858. tableAromaticsEnergyConsumption: [],
  2859. tablePlantLoad: [],
  2860. tableCostFrEthylene: [],
  2861. tableRuningRate: [],
  2862. tableShoudownHour: [],
  2863. tableOtherside: [],
  2864. tableChemicalConsume: [],
  2865. tableSCTUUtilityConsumption: [],
  2866. tableSUBUtilityConsumption: [],
  2867. tableSCTFUtilityConsumption: [],
  2868. tableKBI: [],
  2869. tableSummary: [],
  2870. }
  2871. },
  2872. created() {
  2873. // 加载时设置year为今年
  2874. this.year = new Date();
  2875. // 加载月报数据
  2876. this.getMonthlyReport();
  2877. },
  2878. methods: {
  2879. /** 编辑按钮操作 */
  2880. handleSubUtilityConsumptionUpdate(row) {
  2881. this.subUtilityConsumptionUpdating = true;
  2882. },
  2883. handleSctfUtilityConsumptionUpdate(row) {
  2884. this.sctfUtilityConsumptionUpdating = true;
  2885. },
  2886. handleKbiUpdate(row) {
  2887. this.kbiUpdating = true;
  2888. },
  2889. handleCostFrEthyleneUpdate(row) {
  2890. this.costFrEthyleneUpdating = true;
  2891. },
  2892. handleChemicalConsumeUpdate(row) {
  2893. this.chemicalConsumeUpdating = true;
  2894. },
  2895. handleRuningRateUpdate(row) {
  2896. this.runingRateUpdating = true;
  2897. },
  2898. handleShoudownHourUpdate(row) {
  2899. this.shoudownHourUpdating = true;
  2900. },
  2901. handleAromaticsUtilityConsumptionUpdate(row) {
  2902. this.aromaticsUtilityConsumptionUpdating = true;
  2903. },
  2904. handleCrackerUtilityConsumptionUpdate(row) {
  2905. this.crackerUtilityConsumptionUpdating = true;
  2906. },
  2907. handleEligibleProductRateUpdate(row) {
  2908. this.eligibleProductRateUpdating = true;
  2909. },
  2910. /** 确定修改按钮操作 */
  2911. handleConfirmSubUtilityConsumptionUpdate(row) {
  2912. this.subUtilityConsumptionUpdating = false;
  2913. updateSUBUtilityConsumption({
  2914. tableData: [
  2915. this.tableSUBUtilityConsumption[3],
  2916. this.tableSUBUtilityConsumption[11],
  2917. this.tableSUBUtilityConsumption[13],
  2918. this.tableSUBUtilityConsumption[15],
  2919. this.tableSUBUtilityConsumption[16],
  2920. this.tableSUBUtilityConsumption[17],
  2921. this.tableSUBUtilityConsumption[18],
  2922. this.tableSUBUtilityConsumption[19],
  2923. ],
  2924. year: this.year.getFullYear()
  2925. }).then(response => {
  2926. if (response.code == 200) {
  2927. this.$message.success("修改成功");
  2928. } else {
  2929. this.$message.error("未知错误,请联系管理员。");
  2930. }
  2931. getSUBUtilityConsumption(year).then(response => {
  2932. this.tableSUBUtilityConsumption = response.data;
  2933. });
  2934. });
  2935. },
  2936. handleConfirmSctfUtilityConsumptionUpdate(row) {
  2937. this.sctfUtilityConsumptionUpdating = false;
  2938. updateSctfUtilityConsumption({
  2939. tableData: this.tableSCTFUtilityConsumption,
  2940. year: this.year.getFullYear()
  2941. }).then(response => {
  2942. if (response.code == 200) {
  2943. this.$message.success("修改成功");
  2944. } else {
  2945. this.$message.error("未知错误,请联系管理员。");
  2946. }
  2947. getSCTFUtilityConsumption(year).then(response => {
  2948. this.tableSCTFUtilityConsumption = response.data;
  2949. });
  2950. });
  2951. },
  2952. handleConfirmKbiUpdate(row) {
  2953. this.kbiUpdating = false;
  2954. updateKbi({
  2955. tableData: [
  2956. this.tableKBI[4],
  2957. this.tableKBI[5],
  2958. this.tableKBI[6],
  2959. this.tableKBI[7],
  2960. this.tableKBI[8],
  2961. this.tableKBI[13],
  2962. this.tableKBI[14],
  2963. ],
  2964. year: this.year.getFullYear()
  2965. }).then(response => {
  2966. if (response.code == 200) {
  2967. this.$message.success("修改成功");
  2968. } else {
  2969. this.$message.error("未知错误,请联系管理员。");
  2970. }
  2971. getKbi(year).then(response => {
  2972. this.tableKBI = response.data;
  2973. });
  2974. });
  2975. },
  2976. handleConfirmCostFrEthyleneUpdate(row) {
  2977. this.costFrEthyleneUpdating = false;
  2978. updateCostFrEthylene({
  2979. tableData: this.tableCostFrEthylene,
  2980. year: this.year.getFullYear()
  2981. }).then(response => {
  2982. if (response.code == 200) {
  2983. this.$message.success("修改成功");
  2984. } else {
  2985. this.$message.error("未知错误,请联系管理员。");
  2986. }
  2987. getCostFrEthylene(year).then(response => {
  2988. this.tableCostFrEthylene = response.data;
  2989. });
  2990. });
  2991. },
  2992. handleConfirmChemicalConsumeUpdate(row) {
  2993. this.chemicalConsumeUpdating = false;
  2994. updateChemicalConsume({
  2995. tableData: this.tableChemicalConsume,
  2996. year: this.year.getFullYear()
  2997. }).then(response => {
  2998. if (response.code == 200) {
  2999. this.$message.success("修改成功");
  3000. } else {
  3001. this.$message.error("未知错误,请联系管理员。");
  3002. }
  3003. getChemicalConsume(year).then(response => {
  3004. this.tableChemicalConsume = response.data;
  3005. });
  3006. });
  3007. },
  3008. handleConfirmRuningRateUpdate(row) {
  3009. this.runingRateUpdating = false;
  3010. updateRuningRate({
  3011. tableData: [
  3012. this.tableRuningRate[3]
  3013. ],
  3014. year: this.year.getFullYear()
  3015. }).then(response => {
  3016. if (response.code == 200) {
  3017. this.$message.success("修改成功");
  3018. } else {
  3019. this.$message.error("未知错误,请联系管理员。");
  3020. }
  3021. getRuningRate(year).then(response => {
  3022. this.tableRuningRate = response.data;
  3023. });
  3024. getPlantLoad(year).then(response => {
  3025. this.tablePlantLoad = response.data;
  3026. });
  3027. });
  3028. },
  3029. handleConfirmShoudownHourUpdate(row) {
  3030. this.shoudownHourUpdating = false;
  3031. updateShoudownHour({
  3032. tableData: [
  3033. this.tableShoudownHour[0],
  3034. this.tableShoudownHour[1],
  3035. this.tableShoudownHour[2],
  3036. this.tableShoudownHour[3],
  3037. this.tableShoudownHour[4],
  3038. this.tableShoudownHour[5],
  3039. this.tableShoudownHour[6],
  3040. this.tableShoudownHour[7],
  3041. this.tableShoudownHour[8],
  3042. this.tableShoudownHour[9],
  3043. ],
  3044. year: this.year.getFullYear()
  3045. }).then(response => {
  3046. if (response.code == 200) {
  3047. this.$message.success("修改成功");
  3048. } else {
  3049. this.$message.error("未知错误,请联系管理员。");
  3050. }
  3051. getShoudownHour(year).then(response => {
  3052. this.tableShoudownHour = response.data;
  3053. });
  3054. getRuningRate(year).then(response => {
  3055. this.tableRuningRate = response.data;
  3056. });
  3057. getPlantLoad(year).then(response => {
  3058. this.tablePlantLoad = response.data;
  3059. });
  3060. });
  3061. },
  3062. handleConfirmAromaticsUtilityConsumptionUpdate(row) {
  3063. this.aromaticsUtilityConsumptionUpdating = false;
  3064. updateAromaticsUtilityConsumption({
  3065. tableData: [
  3066. this.tableAromaticsUtilityConsumption[6],
  3067. this.tableAromaticsUtilityConsumption[12],
  3068. this.tableAromaticsUtilityConsumption[13],
  3069. this.tableAromaticsUtilityConsumption[14],
  3070. this.tableAromaticsUtilityConsumption[15]
  3071. ],
  3072. year: this.year.getFullYear()
  3073. }).then(response => {
  3074. if (response.code == 200) {
  3075. this.$message.success("修改成功");
  3076. } else {
  3077. this.$message.error("未知错误,请联系管理员。");
  3078. }
  3079. getAromaticsUtilityConsumption(year).then(response => {
  3080. this.tableCrackerUtilityConsumption = response.data;
  3081. });
  3082. });
  3083. },
  3084. handleConfirmCrackerUtilityConsumptionUpdate(row) {
  3085. this.crackerUtilityConsumptionUpdating = false;
  3086. updateCrackerUtilityConsumption({
  3087. tableData: [
  3088. this.tableCrackerUtilityConsumption[7],
  3089. this.tableCrackerUtilityConsumption[12],
  3090. this.tableCrackerUtilityConsumption[14],
  3091. this.tableCrackerUtilityConsumption[15],
  3092. this.tableCrackerUtilityConsumption[16],
  3093. this.tableCrackerUtilityConsumption[17],
  3094. this.tableCrackerUtilityConsumption[19]
  3095. ],
  3096. year: this.year.getFullYear()
  3097. }).then(response => {
  3098. if (response.code == 200) {
  3099. this.$message.success("修改成功");
  3100. } else {
  3101. this.$message.error("未知错误,请联系管理员。");
  3102. }
  3103. getCrackerUtilityConsumption(year).then(response => {
  3104. this.tableCrackerUtilityConsumption = response.data;
  3105. });
  3106. getCrackerEnergyConsumption(year).then(response => {
  3107. this.tableCrackerEnergyConsumption = response.data;
  3108. });
  3109. });
  3110. },
  3111. handleConfirmEligibleProductRateUpdate(row) {
  3112. this.eligibleProductRateUpdating = false;
  3113. updateEligibleProductRate({
  3114. tableData: this.tableEligibleProductRate,
  3115. year: this.year.getFullYear()
  3116. }).then(response => {
  3117. if (response.code == 200) {
  3118. this.$message.success("修改成功");
  3119. } else {
  3120. this.$message.error("未知错误,请联系管理员。");
  3121. }
  3122. getEligibleProductRate(year).then(response => {
  3123. this.tableEligibleProductRate = response.data;
  3124. });
  3125. });
  3126. },
  3127. /** 取消修改按钮操作 */
  3128. handleCancelSUBUtilityConsumptionUpdate(row) {
  3129. this.subUtilityConsumptionUpdating = false;
  3130. getSUBUtilityConsumption(year).then(response => {
  3131. this.tableSUBUtilityConsumption = response.data;
  3132. });
  3133. },
  3134. handleCancelSCTFUtilityConsumptionUpdate(row) {
  3135. this.sctfUtilityConsumptionUpdating = false;
  3136. getSCTFUtilityConsumption(year).then(response => {
  3137. this.tableSCTFUtilityConsumption = response.data;
  3138. });
  3139. },
  3140. handleCancelKbiUpdate(row) {
  3141. this.kbiUpdating = false;
  3142. getKbi(year).then(response => {
  3143. this.tableKBI = response.data;
  3144. });
  3145. },
  3146. handleCancelCostFrEthyleneUpdate(row) {
  3147. this.costFrEthyleneUpdating = false;
  3148. getCostFrEthylene(year).then(response => {
  3149. this.tableCostFrEthylene = response.data;
  3150. });
  3151. },
  3152. handleCancelChemicalConsumeUpdate(row) {
  3153. this.chemicalConsumeUpdating = false;
  3154. getChemicalConsume(year).then(response => {
  3155. this.tableChemicalConsume = response.data;
  3156. });
  3157. },
  3158. handleCancelRuningRateUpdate(row) {
  3159. this.runingRateUpdating = false;
  3160. getRuningRate(year).then(response => {
  3161. this.runingRateUpdating = response.data;
  3162. });
  3163. },
  3164. handleCancelShoudownHourUpdate(row) {
  3165. this.shoudownHourUpdating = false;
  3166. getShoudownHour(year).then(response => {
  3167. this.shoudownHourUpdating = response.data;
  3168. });
  3169. },
  3170. handleCancelAromaticsUtilityConsumptionUpdate(row) {
  3171. this.aromaticsUtilityConsumptionUpdating = false;
  3172. getAromaticsUtilityConsumption(year).then(response => {
  3173. this.aromaticsUtilityConsumptionUpdating = response.data;
  3174. });
  3175. },
  3176. handleCancelCrackerUtilityConsumptionUpdate(row) {
  3177. this.crackerUtilityConsumptionUpdating = false;
  3178. getCrackerUtilityConsumption(year).then(response => {
  3179. this.tableCrackerUtilityConsumption = response.data;
  3180. });
  3181. },
  3182. handleCancelEligibleProductRateUpdate(row) {
  3183. this.eligibleProductRateUpdating = false;
  3184. getEligibleProductRate(year).then(response => {
  3185. this.tableEligibleProductRate = response.data;
  3186. });
  3187. },
  3188. /** 销毁趋势图 */
  3189. disposeChart() {
  3190. this.echarts.dispose(this.chart);
  3191. },
  3192. /** 处理最左列指标点击事件 */
  3193. columnOnclick(row) {
  3194. let dictLabel = row.dictLabel;
  3195. let toYear = this.year.getFullYear();
  3196. let toMonth = this.year.getMonth() + 1;
  3197. let fromYear = toYear - 1;
  3198. let fromMonth = toMonth;
  3199. this.analysisQueryParams.item = dictLabel;
  3200. this.analysisQueryParams.toYear = toYear;
  3201. this.analysisQueryParams.toMonth = toMonth;
  3202. this.analysisQueryParams.fromYear = fromYear;
  3203. this.analysisQueryParams.fromMonth = fromMonth;
  3204. let startDate = new Date();
  3205. let endDate = new Date();
  3206. startDate.setFullYear(startDate.getFullYear() - 1);
  3207. this.analysisDialogElement.startDate = startDate;
  3208. this.analysisDialogElement.endDate = endDate;
  3209. this.analysis.title = row.title + "趋势分析";
  3210. this.analysis.open = true;
  3211. this.draw();
  3212. },
  3213. /** 处理趋势分析时间区间change事件 */
  3214. handleAnalysisTimeIntervalChange() {
  3215. if (this.analysisDialogElement.startDate.getTime() >= this.analysisDialogElement.endDate.getTime()) {
  3216. let startDate = new Date();
  3217. let endDate = new Date();
  3218. startDate.setFullYear(startDate.getFullYear() - 1);
  3219. this.analysisDialogElement.startDate = startDate;
  3220. this.analysisDialogElement.endDate = endDate;
  3221. this.$message.info("开始日期不能大于等于结束日期,请重新选择日期范围。");
  3222. } else {
  3223. this.disposeChart();
  3224. let startDate = this.analysisDialogElement.startDate;
  3225. let endDate = this.analysisDialogElement.endDate;
  3226. this.analysisQueryParams.fromYear = startDate.getFullYear();
  3227. this.analysisQueryParams.fromMonth = startDate.getMonth() + 1;
  3228. this.analysisQueryParams.toYear = endDate.getFullYear();
  3229. this.analysisQueryParams.toMonth = endDate.getMonth() + 1;
  3230. this.draw();
  3231. }
  3232. },
  3233. /** 绘制趋势图 */
  3234. draw() {
  3235. this.valueList = [];
  3236. this.dateList = [];
  3237. getAnalysisData(this.analysisQueryParams).then(response => {
  3238. let data = response.data;
  3239. this.maxValue = 0;
  3240. this.minValue = data[0].valueData;
  3241. for (let i = 0; i < data.length; i++) {
  3242. if (data[i].valueData != null) {
  3243. this.valueList.push(data[i].valueData);
  3244. this.dateList.push(data[i].dateData);
  3245. if (data[i].valueData > this.maxValue) {
  3246. this.maxValue = data[i].valueData;
  3247. }
  3248. if (data[i].valueData < this.minValue) {
  3249. this.minValue = data[i].valueData;
  3250. }
  3251. }
  3252. }
  3253. this.chart = this.echarts.init(document.getElementById("trendChart"));
  3254. let option = {
  3255. tooltip: {
  3256. trigger: "item"
  3257. },
  3258. grid: {
  3259. left: 90,
  3260. right: 80,
  3261. },
  3262. xAxis: {
  3263. data: this.dateList,
  3264. },
  3265. yAxis: {
  3266. max: this.maxValue,
  3267. min: this.minValue,
  3268. min: function(value) { // 取最小值向下取整为最小刻度
  3269. return Math.floor(value.min)
  3270. },
  3271. max: function(value) { // 取最大值向上取整为最大刻度
  3272. return Math.ceil(value.max)
  3273. },
  3274. scale: true,
  3275. type: 'value',
  3276. },
  3277. series: [
  3278. {
  3279. name: this.fieldNameTitle,
  3280. label: {
  3281. show: true,
  3282. position: 'top'
  3283. },
  3284. data: this.valueList,
  3285. type: 'line',
  3286. smooth: true,
  3287. symbolSize: 15,
  3288. color:"#5470c6",
  3289. lineStyle: {
  3290. width: 6
  3291. }
  3292. }
  3293. ],
  3294. };
  3295. this.chart.setOption(option);
  3296. });
  3297. },
  3298. /** 设置表头 */
  3299. setTableTitle() {
  3300. // 拼接年份后的数组
  3301. let monthListTemp = [];
  3302. // 重置月份数组
  3303. this.monthList = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
  3304. for (let i = 0; i < this.monthList.length; i++) {
  3305. // 拼接后:月份-年份,如Feb-2022
  3306. monthListTemp.push(this.monthList[i] + "-" + this.year.getFullYear());
  3307. }
  3308. this.monthList = monthListTemp;
  3309. },
  3310. /** 处理年份控件change事件 */
  3311. handleQueryYear() {
  3312. // 点击clear按钮,设置year为今年
  3313. if (this.year == null) {
  3314. this.year = new Date();
  3315. }
  3316. this.getMonthlyReport();
  3317. },
  3318. /** 获取月报 */
  3319. getMonthlyReport() {
  3320. // 设置表头
  3321. this.setTableTitle();
  3322. // 获取选中的年份
  3323. let year = this.year.getFullYear();
  3324. // 根据年份获取月报数据
  3325. getCrackerRawMaterial(year).then(response => {
  3326. this.tableCrackerRawMaterial = response.data;
  3327. });
  3328. getCrackerOutputProduct(year).then(response => {
  3329. this.tableCrackerOutputProduct = response.data;
  3330. });
  3331. getAromaticsRawMaterial(year).then(response => {
  3332. this.tableAromaticsRawMaterial = response.data;
  3333. });
  3334. getAromaticsOutputProduct(year).then(response => {
  3335. this.tableAromaticsOutputProduct = response.data;
  3336. });
  3337. getEligibleProductRate(year).then(response => {
  3338. this.tableEligibleProductRate = response.data;
  3339. });
  3340. getProductYield(year).then(response => {
  3341. this.tableProductYield = response.data;
  3342. });
  3343. getCrackerUtilityConsumption(year).then(response => {
  3344. this.tableCrackerUtilityConsumption = response.data;
  3345. });
  3346. getCrackerEnergyConsumption(year).then(response => {
  3347. this.tableCrackerEnergyConsumption = response.data;
  3348. });
  3349. getAromaticsUtilityConsumption(year).then(response => {
  3350. this.tableAromaticsUtilityConsumption = response.data;
  3351. });
  3352. getAromaticsEnergyConsumption(year).then(response => {
  3353. this.tableAromaticsEnergyConsumption = response.data;
  3354. });
  3355. getPlantLoad(year).then(response => {
  3356. this.tablePlantLoad = response.data;
  3357. });
  3358. getCostFrEthylene(year).then(response => {
  3359. this.tableCostFrEthylene = response.data;
  3360. });
  3361. getRuningRate(year).then(response => {
  3362. this.tableRuningRate = response.data;
  3363. });
  3364. getShoudownHour(year).then(response => {
  3365. this.tableShoudownHour = response.data;
  3366. });
  3367. getOtherside(year).then(response => {
  3368. this.tableOtherside = response.data;
  3369. });
  3370. getChemicalConsume(year).then(response => {
  3371. this.tableChemicalConsume = response.data;
  3372. });
  3373. getSCTUUtilityConsumption(year).then(response => {
  3374. this.tableSCTUUtilityConsumption = response.data;
  3375. });
  3376. getSUBUtilityConsumption(year).then(response => {
  3377. this.tableSUBUtilityConsumption = response.data;
  3378. });
  3379. getSCTFUtilityConsumption(year).then(response => {
  3380. this.tableSCTFUtilityConsumption = response.data;
  3381. });
  3382. getKbi(year).then(response => {
  3383. this.tableKBI = response.data;
  3384. });
  3385. getSummary(year).then(response => {
  3386. this.tableSummary = response.data;
  3387. });
  3388. },
  3389. }
  3390. }
  3391. </script>
  3392. <style scoped>
  3393. .editDiv{
  3394. margin-top: 20px;
  3395. }
  3396. </style>