index3.vue 153 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117
  1. <template>
  2. <div class="app-container">
  3. <div v-if="isPercentage" class="percentage" style="width: 210px;height: 90px;background: #fff;position: fixed;bottom: 0;left: 0;z-index: 9999999999999;">
  4. <h4 style="padding-left: 10px;line-height: 0;">导出进度:</h4>
  5. <el-progress style="padding-left: 10px;" :text-inside="true" :stroke-width="26" :percentage="percentage" />
  6. </div>
  7. <el-tabs v-model="tabName" @tab-click="handleTabClick">
  8. <el-tab-pane v-if="isBasic" label="设备基础信息" name="first">
  9. <div class="filter-container">
  10. <el-select v-model="getdataListParm.parammaps.pastureName" placeholder="牧场" class="filter-item" style="width: 120px;" @change="changePastureName">
  11. <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.name" />
  12. </el-select>
  13. <tree-select
  14. v-model="getdataListParm.parammaps.eqClassId"
  15. :height="150"
  16. :width="250"
  17. class="typeSelect"
  18. size="small"
  19. :data="parentClass"
  20. :default-props="defaultProps"
  21. :node-key="nodeKey"
  22. clearable
  23. :disabled="disabled"
  24. placeholder="请选择设备类别"
  25. :checked-keys="defaultCheckedKeys"
  26. style="display: inline-block;"
  27. @popoverHide="popoverHide"
  28. />
  29. <el-input v-model="getdataListParm.parammaps.eqName" placeholder="设备名称" clearable style="width: 120px;" class="filter-item" />
  30. <el-input v-model="getdataListParm.parammaps.eqCode" placeholder="设备内部编号" clearable style="width: 150px;" class="filter-item" />
  31. <el-input v-model="getdataListParm.parammaps.financeCode" placeholder="财务编号" clearable style="width: 120px;" class="filter-item" />
  32. <el-select v-model="getdataListParm.parammaps.departmentId" clearable placeholder="部门" class="filter-item" style="width: 120px;">
  33. <el-option v-for="item in findAllDepart" :key="item.id" :label="item.name" :value="item.id" />
  34. </el-select>
  35. <el-select v-model="getdataListParm.parammaps.status" clearable placeholder="状态" class="filter-item" style="width: 120px;">
  36. <el-option v-for="item in getDictByName" :key="item.id" :label="item.label" :value="item.id" />
  37. </el-select>
  38. <el-select v-model="getdataListParm.parammaps.warning" clearable placeholder="折旧预警" class="filter-item" style="width: 120px;">
  39. <el-option v-for="item in depreciationAlertList" :key="item.id" :label="item.name" :value="item.id" />
  40. </el-select>
  41. <!-- <el-date-picker ref="inputDatetime1" v-model="getdataListParm.parammaps.inputDatetime1" class="inputDatetime" type="daterange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="审批日期" end-placeholder="审批日期" /> -->
  42. <el-date-picker ref="inputDatetime2" v-model="getdataListParm.parammaps.inputDatetime2" class="inputDatetime" type="daterange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="购置日期" end-placeholder="购置日期" />
  43. <!-- <el-date-picker ref="inputDatetime3" v-model="getdataListParm.parammaps.inputDatetime3" class="inputDatetime" type="daterange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="报废日期" end-placeholder="报废日期" /> -->
  44. <el-input v-model="getdataListParm.parammaps.assetCode" placeholder="资产编号" clearable style="width: 120px;" class="filter-item" />
  45. <el-input v-model="getdataListParm.parammaps.brand" placeholder="品牌" clearable style="width: 120px;" class="filter-item" />
  46. <el-input v-model="getdataListParm.parammaps.proName" placeholder="供应商" clearable style="width: 120px;" class="filter-item" />
  47. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_search">搜索</el-button>
  48. <div>
  49. <el-button v-if="isBasicsAdd" class="filter-item" type="primary" icon="el-icon-edit" @click="form_add">新增</el-button>
  50. <el-upload style="display: inline-block;" :headers="headers" :data="uploadData" :action="uploadExcelUrl" :show-file-list="false" :before-upload="beforeImportExcel" :on-success="handleImportExcelSuccess">
  51. <el-button v-waves class="filter-item" type="warning" icon="el-icon-upload2">导入</el-button>
  52. </el-upload>
  53. <el-button class="filter-item" type="success" icon="el-icon-download" style="" @click="handleDownload">导出</el-button>
  54. <el-button class="filter-item" type="primary" icon="el-icon-edit" @click="handleBatchChange">批量变更</el-button>
  55. </div>
  56. <el-table
  57. :key="tableKey"
  58. v-loading="listLoading"
  59. element-loading-text="给我一点时间"
  60. :data="list"
  61. border
  62. fit
  63. highlight-current-row
  64. style="width: 100%;"
  65. :row-style="rowStyle"
  66. :cell-style="cellStyle"
  67. class="elTable"
  68. @selection-change="handleSelectionChange"
  69. @sort-change="tableSort2"
  70. :max-height="myHeight"
  71. >
  72. <el-table-column type="selection" width="55" />
  73. <el-table-column label="序号" align="center" type="index" width="50px">
  74. <template slot-scope="scope">
  75. <span>{{ scope.$index + (pageNum-1) * pageSize + 1 }}</span>
  76. </template>
  77. </el-table-column>
  78. <el-table-column label="牧场" align="center" prop="pastureName" />
  79. <el-table-column label="设备类别" align="center" prop="eqClassName" />
  80. <el-table-column label="设备名称" align="center" prop="eqName" />
  81. <el-table-column label="设备内部编号" align="center" prop="eqCode" />
  82. <el-table-column label="财务编号" align="center" prop="financeCode" />
  83. <el-table-column label="规格" align="center" prop="specification" />
  84. <el-table-column label="品牌" align="center" prop="brandName" />
  85. <el-table-column label="状态" align="center" prop="status">
  86. <template slot-scope="{row}">
  87. <div v-if="row.status == '正常'">
  88. <div v-if="row.warning == 1" style="background:#EC808D;display:block;line-height: 50px;">{{ row.status }}</div>
  89. <div v-else-if="row.warning == 2" style="background:#FACD91;display:block;line-height: 50px;">{{ row.status }}</div>
  90. <div v-else>{{ row.status }}</div>
  91. </div>
  92. <div v-else>
  93. <div style="background:#D7D7D7;display:block;line-height: 50px;">{{ row.status }}</div>
  94. </div>
  95. </template>
  96. </el-table-column>
  97. <el-table-column label="用途" align="center" prop="purpose" />
  98. <el-table-column label="部门" align="center" prop="deptName" />
  99. <el-table-column label="责任人" align="center" prop="employeName" />
  100. <el-table-column label="审批日期" sortable align="center" prop="spDate" />
  101. <el-table-column label="购置日期" sortable align="center" prop="purchaseDate" />
  102. <el-table-column label="入场日期" sortable align="center" prop="entranceDate" />
  103. <el-table-column label="报废日期" sortable align="center" prop="bfDate" />
  104. <el-table-column label="设备图片" prop="picpath" align="center" min-width="110px">
  105. <template slot-scope="scope">
  106. <el-popover placement="right" title="" trigger="hover">
  107. <img v-if="scope.row.picpath !== '' && scope.row.srcpath !== ''" :src="scope.row.picpath">
  108. <img v-if="scope.row.picpath !== '' && scope.row.srcpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
  109. </el-popover>
  110. </template>
  111. </el-table-column>
  112. <el-table-column label="折旧年限" sortable align="center" prop="depreciation" />
  113. <el-table-column label="使用时长(年)" sortable align="center" prop="serviceDuration" />
  114. <el-table-column label="使用率(%)" sortable align="center" prop="utilizationRate" />
  115. <el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
  116. <template slot-scope="{row}">
  117. <el-button v-if="isBasicsCard" type="primary" size="mini" @click="form_see(row)">查看</el-button>
  118. <el-button type="success" size="mini" @click="form_edit(row)">编辑</el-button>
  119. <el-button v-if="isBasicsDel2" style="display:inline-block" type="danger" size="mini" @click="form_delete(row)">删除</el-button>
  120. <el-button v-else style="display:none" type="danger" size="mini" @click="form_delete(row)">删除</el-button>
  121. </template>
  122. </el-table-column>
  123. </el-table>
  124. <pagination v-show="total>=0" :total="total" :page.sync="getdataListParm.offset" :limit.sync="getdataListParm.pagecount" @pagination="get_table_data" />
  125. </div>
  126. </el-tab-pane>
  127. <el-tab-pane v-if="isBasicSH" label="审核设备" name="second">
  128. <div class="filter-container">
  129. <el-select v-model="getdataListParmSH.parammaps.pastureName" placeholder="牧场" class="filter-item" style="width: 120px;">
  130. <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.name" />
  131. </el-select>
  132. <el-input v-model="getdataListParmSH.parammaps.assetCode" placeholder="资产编号" clearable style="width: 180px;" class="filter-item" />
  133. <el-input v-model="getdataListParmSH.parammaps.eqName" placeholder="设备名称" clearable style="width: 120px;" class="filter-item" />
  134. <el-input v-model="getdataListParmSH.parammaps.eqCode" placeholder="设备内部编号" clearable style="width: 150px;" class="filter-item" />
  135. <el-input v-model="getdataListParmSH.parammaps.financeCode" placeholder="财务编码" clearable style="width: 120px;" class="filter-item" />
  136. <el-select v-model="getdataListParmSH.parammaps.departmentId" clearable placeholder="部门" class="filter-item" style="width: 120px;">
  137. <el-option v-for="item in findAllDepart" :key="item.id" :label="item.name" :value="item.id" />
  138. </el-select>
  139. <el-select v-model="getdataListParmSH.parammaps.status" clearable placeholder="状态" class="filter-item" style="width: 120px;">
  140. <el-option v-for="item in getDictByName" :key="item.id" :label="item.label" :value="item.id" />
  141. </el-select>
  142. <el-select v-model="getdataListParmSH.parammaps.SHStatus" clearable placeholder="审核状态" class="filter-item" style="width: 120px;">
  143. <el-option v-for="item in statues" :key="item.id" :label="item.name" :value="item.id" />
  144. </el-select>
  145. <el-date-picker ref="inputDatetime1" v-model="getdataListParmSH.parammaps.inputDatetime1" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
  146. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchSH">搜索</el-button>
  147. <div>
  148. <el-button class="filter-item" type="success" icon="el-icon-download" style="" @click="handleDownloadSH">导出</el-button>
  149. </div>
  150. <el-table
  151. :key="tableKey"
  152. v-loading="listLoadingSH"
  153. element-loading-text="给我一点时间"
  154. :data="listSH"
  155. border
  156. fit
  157. highlight-current-row
  158. style="width: 100%;"
  159. :row-style="rowStyle"
  160. :cell-style="cellStyle"
  161. class="elTable"
  162. :max-height="myHeight"
  163. >
  164. <el-table-column label="序号" align="center" type="index" width="50px">
  165. <template slot-scope="scope">
  166. <span>{{ scope.$index + (pageNumSH-1) * pageSizeSH + 1 }}</span>
  167. </template>
  168. </el-table-column>
  169. <el-table-column label="牧场" align="center" prop="pastureName" />
  170. <el-table-column label="资产编号" align="center" prop="assetCode" />
  171. <el-table-column label="设备名称" align="center" prop="eqName" />
  172. <el-table-column label="设备内部编号" align="center" prop="eqCode" />
  173. <el-table-column label="财务编号" align="center" prop="financeCode" />
  174. <el-table-column label="规格" align="center" prop="specification" />
  175. <el-table-column label="品牌" align="center" prop="brandName" />
  176. <el-table-column label="状态" align="center" prop="status" />
  177. <el-table-column label="部门" align="center" prop="deptName" />
  178. <el-table-column label="责任人" align="center" prop="employeName" />
  179. <el-table-column label="录入日期" sortable align="center" prop="lrTime" />
  180. <el-table-column label="审核状态" min-width="110px" align="center" :formatter="SHStatus" />
  181. <el-table-column label="设备图片" prop="specifications" align="center" min-width="110px">
  182. <template slot-scope="scope">
  183. <el-popover placement="right" title="" trigger="hover">
  184. <img v-if="scope.row.picpath !== ''" :src="scope.row.picpath">
  185. <img v-if="scope.row.picpath !== ''" slot="reference" :src="scope.row.picpath" :alt="scope.row.srcpath" style="height: 100px;width:100px;">
  186. </el-popover>
  187. </template>
  188. </el-table-column>
  189. <el-table-column label="操作" align="center" width="300" class-name="small-padding fixed-width" fixed="right">
  190. <template slot-scope="{row}">
  191. <el-button v-if="isBasicsCard" type="primary" size="mini" @click="form_see(row)">查看</el-button>
  192. <el-button v-if="isBasicsUpdate && row.SHStatus == 2" style="display:inline-block" type="success" size="mini" @click="form_edit(row)">编辑</el-button>
  193. <el-button v-else style="display:none" type="success" size="mini" @click="form_edit(row)">编辑</el-button>
  194. <el-button v-if="isBasicExamine && row.SHStatus == 0" style="display:inline-block" type="success" size="mini" @click="handleExamine(row)">审核</el-button>
  195. <el-button v-else style="display:none" type="success" size="mini" @click="handleExamine(row)">审核</el-button>
  196. <el-button v-if="isBasicsDel && row.SHStatus == 2" style="display:inline-block" type="danger" size="mini" @click="form_delete(row)">删除</el-button>
  197. <el-button v-else style="display:none" type="danger" size="mini" @click="form_delete(row)">删除</el-button>
  198. </template>
  199. </el-table-column>
  200. </el-table>
  201. <pagination v-show="totalSH>=0" :total="totalSH" :page.sync="getdataListParmSH.offset" :limit.sync="getdataListParmSH.pagecount" @pagination="get_table_dataSH" />
  202. </div>
  203. </el-tab-pane>
  204. </el-tabs>
  205. <!-- 新增 -->
  206. <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible" v-show = "dialogFormVisible" :close-on-click-modal="false" width="90%">
  207. <div class="app-add">
  208. <el-form ref="createTemp" :rules="rulesCreate" :model="createTemp" label-position="right" label-width="115px" style="width: 90%;margin:0 auto 30px">
  209. <el-row>
  210. <el-col :span="10">
  211. <el-form-item label="设备类别:" prop="eqClassId">
  212. <tree-select
  213. v-model="createTemp.eqClassId"
  214. :height="200"
  215. :width="300"
  216. size="small"
  217. :data="parentClass"
  218. :default-props="defaultProps"
  219. :node-key="nodeKey"
  220. :disabled="disabled"
  221. :placeholder="placeholder"
  222. :checked-keys="defaultCheckedKeys"
  223. @popoverHide="popoverHide"
  224. />
  225. </el-form-item>
  226. </el-col>
  227. </el-row>
  228. <el-row>
  229. <el-col :span="6">
  230. <el-form-item label="资产编号:" prop="assetCode">
  231. <el-input ref="assetCode" v-model="createTemp.assetCode" placeholder="请输入编号" disabled />
  232. </el-form-item>
  233. </el-col>
  234. <el-col :span="6">
  235. <el-form-item label="设备名称:" prop="eqName">
  236. <el-input ref="eqName" v-model="createTemp.eqName" placeholder="请输入设备名称" disabled/>
  237. </el-form-item>
  238. </el-col>
  239. <el-col :span="6">
  240. <el-form-item label="设备内部编号:" prop="eqCode">
  241. <el-input ref="eqCode" v-model="createTemp.eqCode" placeholder="请输入设备内部编号" />
  242. </el-form-item>
  243. </el-col>
  244. <el-col :span="6">
  245. <el-form-item label="财务编号:" prop="financeCode">
  246. <el-input ref="financeCode" v-model="createTemp.financeCode" placeholder="请输入财务编号" />
  247. </el-form-item>
  248. </el-col>
  249. </el-row>
  250. <el-row>
  251. <el-col :span="6">
  252. <el-form-item label="设备规格:" prop="specification">
  253. <el-input ref="specification" v-model="createTemp.specification" placeholder="请输入设备规格" />
  254. </el-form-item>
  255. </el-col>
  256. <el-col :span="6">
  257. <el-form-item label="品牌:" prop="brandName">
  258. <el-autocomplete v-model="createTemp.brandName" value-key="brandName" class="inline-input" :fetch-suggestions="brandSearch" placeholder="请输入品牌" style="width:100%;" @select="(value)=> {handleSelectBrand(value)}" />
  259. </el-form-item>
  260. </el-col>
  261. <el-col :span="6">
  262. <el-form-item label="供应商:" prop="providerId">
  263. <el-select v-model="createTemp.providerId" filterable placeholder="请选择供应商" style="width:100%">
  264. <el-option v-for="item in findAllProvider" :key="item.id" clearable :label="item.name" :value="item.id" />
  265. </el-select>
  266. </el-form-item>
  267. </el-col>
  268. <el-col :span="6">
  269. <el-form-item label="用途:" prop="purpose">
  270. <el-input ref="purpose" v-model="createTemp.purpose" placeholder="请输入用途" />
  271. </el-form-item>
  272. </el-col>
  273. </el-row>
  274. <el-row>
  275. <el-col :span="6">
  276. <el-form-item label="状态:" prop="status">
  277. <el-select v-model="createTemp.status" placeholder="状态" class="filter-item">
  278. <el-option v-for="item in getDictByName" :key="item.id" :label="item.label" :value="item.id" />
  279. </el-select>
  280. </el-form-item>
  281. </el-col>
  282. <el-col :span="6">
  283. <el-form-item label="购置日期:" prop="purchaseDate">
  284. <el-date-picker v-model="createTemp.purchaseDate" type="date" placeholder="选择日期" style="width:170px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
  285. </el-form-item>
  286. </el-col>
  287. <el-col :span="6">
  288. <el-form-item label="入场日期:" prop="entranceDate">
  289. <el-date-picker v-model="createTemp.entranceDate" type="date" placeholder="选择日期" style="width:170px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
  290. </el-form-item>
  291. </el-col>
  292. <el-col :span="6">
  293. <el-form-item label="折旧年限:" prop="depreciation">
  294. <el-input ref="depreciation" v-model="createTemp.depreciation" placeholder="请输入折旧年限" />
  295. </el-form-item>
  296. </el-col>
  297. </el-row>
  298. <el-row>
  299. <el-col :span="6">
  300. <el-form-item label="原值:" prop="yuanzhi">
  301. <el-input ref="yuanzhi" v-model="createTemp.yuanzhi" placeholder="请输入原值" />
  302. </el-form-item>
  303. </el-col>
  304. <el-col :span="6">
  305. <el-form-item label="残值:" prop="salvage">
  306. <el-input ref="salvage" v-model="createTemp.salvage" placeholder="请输入残值" />
  307. </el-form-item>
  308. </el-col>
  309. <el-col :span="6">
  310. <el-form-item label="月核减值:" prop="subtractvalue">
  311. <el-input ref="subtractvalue" v-model="createTemp.subtractvalue" placeholder="请输入月核减值" />
  312. </el-form-item>
  313. </el-col>
  314. <el-col :span="6">
  315. <el-form-item label="保养级别:" prop="upkeepgrade">
  316. <el-select ref="upkeepgrade" v-model="createTemp.upkeepgrade" placeholder="保养级别" class="filter-item" @visible-change="upkeepgradeChange" @change="changeUpkeepgrade">
  317. <el-option v-for="item in upkeepgrades" :key="item.id" :label="item.label" :value="item.id" />
  318. </el-select>
  319. </el-form-item>
  320. </el-col>
  321. </el-row>
  322. <el-row>
  323. <el-col :span="6">
  324. <el-form-item label="保养费用:" prop="yearUpkeepCost">
  325. <el-input ref="yearUpkeepCost" v-model="createTemp.yearUpkeepCost" placeholder="请输入近一年保养费用" />
  326. </el-form-item>
  327. </el-col>
  328. <el-col :span="6">
  329. <el-form-item label="维修费用:" prop="yearMaintainCost">
  330. <el-input ref="yearMaintainCost" v-model="createTemp.yearMaintainCost" placeholder="请输入近一年维修费用" />
  331. </el-form-item>
  332. </el-col>
  333. <el-col :span="6">
  334. <el-form-item label="基数(小时):" prop="baseHours">
  335. <el-input ref="baseHours" v-model="createTemp.baseHours" placeholder="请输入基数" />
  336. </el-form-item>
  337. </el-col>
  338. <el-col :span="6">
  339. <el-form-item label="牧场:" prop="pastureId">
  340. <el-select v-model="createTemp.pastureId" placeholder="牧场" class="filter-item" @change="changePasture">
  341. <el-option v-for="item in findAllPasture" :key="item.id" :label="item.name" :value="item.id" />
  342. </el-select>
  343. </el-form-item>
  344. </el-col>
  345. </el-row>
  346. <el-row>
  347. <el-col :span="6">
  348. <el-form-item label="部门:" prop="deptId">
  349. <el-select v-model="createTemp.deptId" :disabled="disabled" placeholder="部门" class="filter-item" style="width: 100%;" @change="changeDepart">
  350. <el-option v-for="item in createDepartList" :key="item.id" :label="item.name" :value="item.id" />
  351. </el-select>
  352. </el-form-item>
  353. </el-col>
  354. <el-col :span="6">
  355. <el-form-item label="责任人:" prop="employeName">
  356. <el-autocomplete v-model="createTemp.employeName" value-key="empname" class="inline-input" :fetch-suggestions="employeSearch" placeholder="请输入责任人" style="width:100%;" @select="handleSelectEmploye">
  357. <template slot-scope="{ item }">
  358. <div class="name" style="display: inline;">{{ item.name }}</div>
  359. </template>
  360. </el-autocomplete>
  361. </el-form-item>
  362. </el-col>
  363. <el-col :span="6">
  364. <el-form-item label="录入人:" prop="inputUser">
  365. <el-select v-model="createTemp.inputUser" placeholder="录入人" class="filter-item">
  366. <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
  367. </el-select>
  368. </el-form-item>
  369. </el-col>
  370. <el-col :span="6">
  371. <el-form-item label="录入时间:" prop="inputDatetime">
  372. <el-date-picker v-model="createTemp.inputDatetime" :picker-options="pickerOptions1" type="date" placeholder="录入时间" format="yyyy-MM-dd" value-format="yyyy-MM-dd" style="width:170px;" />
  373. </el-form-item>
  374. </el-col>
  375. </el-row>
  376. <el-row>
  377. <el-col :span="6">
  378. <el-form-item label="指定维修人:" prop="maintenance">
  379. <el-select v-model="createTemp.maintenance" multiple filterable placeholder="指定维修人" class="filter-item" style="width: 100%;" >
  380. <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
  381. </el-select>
  382. </el-form-item>
  383. </el-col>
  384. <!-- <el-col :span="6">
  385. <el-form-item label="间隔时间:" prop="pushTime">
  386. <el-select v-model="createTemp.pushTime" placeholder="间隔时间" class="filter-item">
  387. <el-option v-for="item in pushNameList" :key="item.id" :label="item.name" :value="item.id" />
  388. </el-select>
  389. </el-form-item>
  390. </el-col> -->
  391. <el-col :span="6">
  392. <el-form-item label="一级督办:" prop="levelone">
  393. <el-select v-model="createTemp.levelone" filterable placeholder="设备主管" class="filter-item">
  394. <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
  395. </el-select>
  396. </el-form-item>
  397. </el-col>
  398. <el-col :span="6">
  399. <el-form-item label="一级间隔时间(小时)" prop="leveloneTime">
  400. <el-select v-model="createTemp.leveloneTime" placeholder="间隔时间" class="filter-item">
  401. <el-option v-for="item in pushNameList2" :key="item.id" :label="item.name" :value="item.id" />
  402. </el-select>
  403. </el-form-item>
  404. </el-col>
  405. <el-col :span="6">
  406. <el-form-item label="二级督办:" prop="leveltwo">
  407. <el-select v-model="createTemp.leveltwo" filterable placeholder="设备助理" class="filter-item">
  408. <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
  409. </el-select>
  410. </el-form-item>
  411. </el-col>
  412. </el-row>
  413. <el-row>
  414. <el-col :span="6">
  415. <el-form-item label="二级间隔时间(小时)" prop="leveltwoTime">
  416. <el-select v-model="createTemp.leveltwoTime" placeholder="间隔时间" class="filter-item">
  417. <el-option v-for="item in pushNameList2" :key="item.id" :label="item.name" :value="item.id" />
  418. </el-select>
  419. </el-form-item>
  420. </el-col>
  421. <el-col :span="6">
  422. <el-form-item label="三级督办:" prop="levelthree">
  423. <el-select v-model="createTemp.levelthree" filterable placeholder="场长" class="filter-item">
  424. <el-option v-for="item in findAllEmploye" :key="item.id" :label="item.name" :value="item.id" />
  425. </el-select>
  426. </el-form-item>
  427. </el-col>
  428. <el-col :span="6">
  429. <el-form-item label="三级间隔时间(小时)" prop="levelthreeTime">
  430. <el-select v-model="createTemp.levelthreeTime" placeholder="间隔时间" class="filter-item">
  431. <el-option v-for="item in pushNameList2" :key="item.id" :label="item.name" :value="item.id" />
  432. </el-select>
  433. </el-form-item>
  434. </el-col>
  435. </el-row>
  436. <el-row>
  437. <el-col :span="6">
  438. <el-form-item label="设备图片:">
  439. <el-upload
  440. id="uploadPic"
  441. ref="upload"
  442. :limit="1"
  443. list-type="picture-card"
  444. :file-list="createTemp.fileList"
  445. :headers="headers"
  446. :action="uploadImageUrl"
  447. :auto-upload="true"
  448. :on-preview="handlePicPreview"
  449. :before-remove="beforeRemove"
  450. :class="{hide:showUpload}"
  451. :on-change="(file,fileList)=>{ return handlePicChange(file, fileList) }"
  452. :on-success="(response,file, fileList)=>{ return handlePicSuccess(response,file, fileList) }"
  453. :on-remove="(file, fileList)=>{ return handlePicRemove(file, fileList) }"
  454. >
  455. <i class="el-icon-plus" />
  456. </el-upload>
  457. <el-dialog :visible.sync="dialogVisible" append-to-body :width="width">
  458. <img :src="dialogImageUrl" alt="" @load="onLoad">
  459. </el-dialog>
  460. </el-form-item>
  461. </el-col>
  462. </el-row>
  463. </el-form>
  464. <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:5px">
  465. <el-button v-if="dialogStatus==='create'" ref="createb" type="success" :disabled="isokDisable" @click="add_dialog_save_again()">保存并新增</el-button>
  466. <el-button type="primary" :disabled="isokDisable" @click="dialogStatus==='create'?add_dialog_save():edit_dialog_save()">保存并关闭</el-button>
  467. <el-button @click="dialogFormVisible = false; getdataListParm.parammaps.inputDatetime = ''">取消并关闭</el-button>
  468. </div>
  469. </div>
  470. </el-dialog>
  471. <!-- 查看 -->
  472. <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible_See" :close-on-click-modal="false" width="90%">
  473. <div class="app-contentcard">
  474. <div style="position: absolute;top:20px;left:150px;font:18px/24px '' ;color:#303133;">
  475. <span style="margin:0 10px;">设备名称:{{ seeTemp.eqName }}</span>
  476. <span>内部编号:{{ seeTemp.eqCode }}</span>
  477. </div>
  478. <div class="card">
  479. <el-tabs v-model="activeName" @tab-click="form_seeTabClick">
  480. <el-tab-pane label="基础信息" name="first">
  481. <el-form ref="seeTemp" :rules="rules" :model="seeTemp" label-position="right" label-width="115px" style="width: 100%;margin-bottom:30px">
  482. <el-row>
  483. <el-form-item label="设备类别:" prop="eqClassName">
  484. <el-input ref="eqClassName" v-model="seeTemp.eqClassName" placeholder="请输入设备类别" disabled />
  485. </el-form-item>
  486. </el-row>
  487. <el-row>
  488. <el-col :span="6">
  489. <el-form-item label="资产编号:" prop="assetCode">
  490. <el-input ref="assetCode" v-model="seeTemp.assetCode" placeholder="请输入资产编号" disabled />
  491. </el-form-item>
  492. </el-col>
  493. <el-col :span="6">
  494. <el-form-item label="设备名称:" prop="eqName">
  495. <el-input ref="eqName" v-model="seeTemp.eqName" placeholder="请输入设备名称" disabled />
  496. </el-form-item>
  497. </el-col>
  498. <el-col :span="6">
  499. <el-form-item label="设备内部编号:" prop="eqCode">
  500. <el-input ref="eqCode" v-model="seeTemp.eqCode" placeholder="请输入设备内部编号" disabled />
  501. </el-form-item>
  502. </el-col>
  503. <el-col :span="6">
  504. <el-form-item label="财务编号:" prop="financeCode">
  505. <el-input ref="financeCode" v-model="seeTemp.financeCode" placeholder="请输入财务编号" disabled />
  506. </el-form-item>
  507. </el-col>
  508. </el-row>
  509. <el-row>
  510. <el-col :span="6">
  511. <el-form-item label="设备规格:" prop="specification">
  512. <el-input ref="specification" v-model="seeTemp.specification" placeholder="请输入设备规格" disabled />
  513. </el-form-item>
  514. </el-col>
  515. <el-col :span="6">
  516. <el-form-item label="品牌:" prop="brandName">
  517. <el-input ref="brandName" v-model="seeTemp.brandName" placeholder="请输入品牌" disabled />
  518. </el-form-item>
  519. </el-col>
  520. <el-col :span="6">
  521. <el-form-item label="供应商:" prop="providerName">
  522. <el-input ref="providerName" v-model="seeTemp.providerName" placeholder="请输入供应商" disabled />
  523. </el-form-item>
  524. </el-col>
  525. <el-col :span="6">
  526. <el-form-item label="用途:" prop="purpose">
  527. <el-input ref="purpose" v-model="seeTemp.purpose" placeholder="请输入用途" disabled />
  528. </el-form-item>
  529. </el-col>
  530. </el-row>
  531. <el-row>
  532. <el-col :span="6">
  533. <el-form-item label="状态:" prop="status">
  534. <el-input ref="status" v-model="seeTemp.status" placeholder="请输入状态" disabled />
  535. </el-form-item>
  536. </el-col>
  537. <el-col :span="6">
  538. <el-form-item label="购置日期:" prop="purchaseDate">
  539. <el-input ref="purchaseDate" v-model="seeTemp.purchaseDate" placeholder="请输入购置日期" disabled />
  540. </el-form-item>
  541. </el-col>
  542. <el-col :span="6">
  543. <el-form-item label="入场日期:" prop="entranceDate">
  544. <el-input ref="entranceDate" v-model="seeTemp.entranceDate" placeholder="请输入入场日期" disabled />
  545. </el-form-item>
  546. </el-col>
  547. <el-col :span="6">
  548. <el-form-item label="折旧年限:" prop="depreciation">
  549. <el-input ref="depreciation" v-model="seeTemp.depreciation" placeholder="请输入折旧年限" disabled />
  550. </el-form-item>
  551. </el-col>
  552. </el-row>
  553. <el-row>
  554. <el-col :span="6">
  555. <el-form-item label="原值:" prop="yuanzhi">
  556. <el-input ref="yuanzhi" v-model="seeTemp.yuanzhi" placeholder="请输入原值" disabled />
  557. </el-form-item>
  558. </el-col>
  559. <el-col :span="6">
  560. <el-form-item label="残值:" prop="salvage">
  561. <el-input ref="salvage" v-model="seeTemp.salvage" placeholder="请输入残值" disabled />
  562. </el-form-item>
  563. </el-col>
  564. <el-col :span="6">
  565. <el-form-item label="月核减值:" prop="subtractvalue">
  566. <el-input ref="subtractvalue" v-model="seeTemp.subtractvalue" placeholder="请输入月核减值" disabled />
  567. </el-form-item>
  568. </el-col>
  569. <el-col :span="6">
  570. <el-form-item label="保养级别:" prop="upkeepgrade">
  571. <el-input ref="upkeepgrade" v-model="seeTemp.upkeepgrade" placeholder="请输入保养级别" disabled />
  572. </el-form-item>
  573. </el-col>
  574. </el-row>
  575. <el-row>
  576. <el-col :span="6">
  577. <el-form-item label="保养费用:" prop="yearUpkeepCost">
  578. <el-input ref="yearUpkeepCost" v-model="seeTemp.yearUpkeepCost" placeholder="请输入近一年保养费用" disabled />
  579. </el-form-item>
  580. </el-col>
  581. <el-col :span="6">
  582. <el-form-item label="维修费用:" prop="yearMaintainCost">
  583. <el-input ref="yearMaintainCost" v-model="seeTemp.yearMaintainCost" placeholder="请输入近一年维修费用" disabled />
  584. </el-form-item>
  585. </el-col>
  586. <el-col :span="6">
  587. <el-form-item label="基数(小时):" prop="baseHours">
  588. <el-input ref="baseHours" v-model="seeTemp.baseHours" placeholder="请输入基数" disabled />
  589. </el-form-item>
  590. </el-col>
  591. <el-col :span="6">
  592. <el-form-item label="牧场:" prop="pastureName">
  593. <el-input ref="pastureName" v-model="seeTemp.pastureName" placeholder="请输入牧场" disabled />
  594. </el-form-item>
  595. </el-col>
  596. </el-row>
  597. <el-row>
  598. <el-col :span="6">
  599. <el-form-item label="部门:" prop="deptName">
  600. <el-input ref="deptName" v-model="seeTemp.deptName" placeholder="请输入部门" disabled />
  601. </el-form-item>
  602. </el-col>
  603. <el-col :span="6">
  604. <el-form-item label="责任人:" prop="employeName">
  605. <el-input ref="employeName" v-model="seeTemp.employeName" placeholder="请输入责任人" disabled />
  606. </el-form-item>
  607. </el-col>
  608. <el-col :span="6">
  609. <el-form-item label="录入人:" prop="inputUserName">
  610. <el-input ref="inputUserName" v-model="seeTemp.inputUserName" placeholder="请输入录入人" disabled />
  611. </el-form-item>
  612. </el-col>
  613. <el-col :span="6">
  614. <el-form-item label="录入时间:" prop="inputDatetime">
  615. <el-input ref="inputDatetime" v-model="seeTemp.inputDatetime" placeholder="请输入录入时间" disabled />
  616. </el-form-item>
  617. </el-col>
  618. </el-row>
  619. <el-row>
  620. <el-col :span="6">
  621. <el-form-item label="指定维修人:" prop="maintenanceName">
  622. <el-input ref="maintenanceName" v-model="seeTemp.maintenanceName" placeholder="" disabled />
  623. </el-form-item>
  624. </el-col>
  625. <el-col :span="6">
  626. <el-form-item label="一级督办:" prop="leveloneName">
  627. <el-input ref="leveloneName" v-model="seeTemp.leveloneName" placeholder="" disabled />
  628. </el-form-item>
  629. </el-col>
  630. <el-col :span="6">
  631. <el-form-item label="一级间隔时间(小时):" prop="leveloneTime">
  632. <el-input ref="leveloneTime" v-model="seeTemp.leveloneTime" placeholder="" disabled />
  633. </el-form-item>
  634. </el-col>
  635. <el-col :span="6">
  636. <el-form-item label="二级督办:" prop="leveltwoName">
  637. <el-input ref="leveltwoName" v-model="seeTemp.leveltwoName" placeholder="" disabled />
  638. </el-form-item>
  639. </el-col>
  640. </el-row>
  641. <el-row>
  642. <el-col :span="6">
  643. <el-form-item label="二级间隔时间(小时):" prop="leveltwoTime">
  644. <el-input ref="leveltwoTime" v-model="seeTemp.leveltwoTime" placeholder="" disabled />
  645. </el-form-item>
  646. </el-col>
  647. <el-col :span="6">
  648. <el-form-item label="三级督办:" prop="levelthreeName">
  649. <el-input ref="levelthreeName" v-model="seeTemp.levelthreeName" placeholder="" disabled />
  650. </el-form-item>
  651. </el-col>
  652. <el-col :span="6">
  653. <el-form-item label="三级间隔时间(小时):" prop="levelthreeTime">
  654. <el-input ref="levelthreeTime" v-model="seeTemp.levelthreeTime" placeholder="" disabled />
  655. </el-form-item>
  656. </el-col>
  657. </el-row>
  658. <el-row>
  659. <el-col>
  660. <el-form-item label="设备图片:">
  661. <el-popover placement="right" title="" trigger="hover">
  662. <img v-if="seeTemp.picpath !== '' && seeTemp.srcpath !== ''" :src="seeTemp.picpath">
  663. <img v-if="seeTemp.picpath !== '' && seeTemp.srcpath !== ''" slot="reference" :src="seeTemp.picpath" :alt="seeTemp.srcpath" style="height: 100px;width:100px;">
  664. </el-popover>
  665. </el-form-item>
  666. </el-col>
  667. </el-row>
  668. <div v-if="isFlowChart">
  669. <el-row>
  670. <el-col>
  671. <el-form-item label="流程进度" />
  672. <el-steps :active="active" align-center finish-status="success">
  673. <el-step
  674. v-for="(item,index) in activeList"
  675. :key="index"
  676. :title="item.title"
  677. :status="item.status"
  678. >
  679. <template slot="description">
  680. <div class="step-row">
  681. <div>{{ item.name }}&nbsp;&nbsp;{{ item.date }}</div>
  682. <div>{{ item.reason }}</div>
  683. </div>
  684. </template>
  685. </el-step>
  686. </el-steps>
  687. </el-col>
  688. </el-row>
  689. <el-row>
  690. <el-col>
  691. <el-form-item label="操作:">
  692. <el-button v-if="isBasicExamine && seeTemp.SHStatus == 0" type="success" style="display:inline-block" @click="handleExamine()">审核</el-button>
  693. <el-button v-else type="success" style="display:none" @click="handleExamine()">审核</el-button>
  694. </el-form-item>
  695. </el-col>
  696. </el-row>
  697. </div>
  698. </el-form>
  699. </el-tab-pane>
  700. <el-tab-pane v-if="isDisplayRecord" label="点检记录" name="second">
  701. <el-date-picker ref="inputDatetimeCheck1" v-model="getAssetBigSpotCheckListParm.parammaps.inputDatetimeSpotCheck1" class="inputDatetime" type="datetimerange" style="width: 250px;margin-bottom:10px" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
  702. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchSportCheck">搜索</el-button>
  703. <el-table
  704. :key="tableKey"
  705. v-loading="listLoadingSpotCheck1"
  706. element-loading-text="给我一点时间"
  707. :data="listSpotCheck1"
  708. border
  709. fit
  710. highlight-current-row
  711. style="width: 100%;"
  712. :row-style="rowStyle"
  713. :cell-style="cellStyle"
  714. class="elTable"
  715. >
  716. <el-table-column label="序号" align="center" type="index" width="50px">
  717. <template slot-scope="scope">
  718. <span>{{ scope.$index + (pageNumSpotCheck1-1) * pageSizeSpotCheck1 + 1 }}</span>
  719. </template>
  720. </el-table-column>
  721. <el-table-column label="点检结果" sortable prop="inspectionResults" min-width="110px" align="center" />
  722. <el-table-column label="点检日期" sortable prop="date" min-width="110px" align="center" />
  723. <el-table-column label="点检人" sortable prop="empname" min-width="110px" align="center" />
  724. </el-table>
  725. <pagination v-show="total>=0" :total="totalSpotCheck1" :page.sync="getAssetBigSpotCheckListParm.offset" :limit.sync="getAssetBigSpotCheckListParm.pagecount" @pagination="getAssetBigSpotCheckList" />
  726. </el-tab-pane>
  727. <el-tab-pane v-if="isDisplayRecord" label="保养记录" name="third">
  728. <el-input v-model="getBigupkeepbyeqParm.parammaps.upkeepCode" placeholder="保养单号" style="width: 140px;" class="filter-item" />
  729. <el-select v-model="getBigupkeepbyeqParm.parammaps.upkeepType" clearable placeholder="保养类型" class="filter-item" style="width: 120px;">
  730. <el-option v-for="item in maintainTypes" :key="item.id" :label="item.name" :value="item.name" />
  731. </el-select>
  732. <el-date-picker ref="inputDatetimeUpkeepbyeq" v-model="getBigupkeepbyeqParm.parammaps.inputDatetimeUpkeepbyeq" class="inputDatetime" type="datetimerange" style="width: 250px;margin-bottom:10px" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
  733. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchUpkeepbyeq">搜索</el-button>
  734. <el-table
  735. :key="tableKey"
  736. v-loading="listLoadingUpkeepbyeq"
  737. element-loading-text="给我一点时间"
  738. :data="listUpkeepbyeq"
  739. border
  740. fit
  741. highlight-current-row
  742. style="width: 100%;"
  743. :row-style="rowStyle"
  744. :cell-style="cellStyle"
  745. class="elTable"
  746. @sort-change="tableSort"
  747. >
  748. <el-table-column label="序号" align="center" type="index" width="50px">
  749. <template slot-scope="scope">
  750. <span>{{ scope.$index + (pageNumUpkeepbyeq-1) * pageSizeUpkeepbyeq + 1 }}</span>
  751. </template>
  752. </el-table-column>
  753. <el-table-column label="保养单号" prop="upkeepCode" min-width="110px" align="center" />
  754. <el-table-column label="保养日期" sortable prop="plantime" min-width="110px" align="center" />
  755. <el-table-column label="保养名称" prop="upkeepName" min-width="110px" align="center" />
  756. <el-table-column label="保养类型" prop="upkeepType" min-width="110px" align="center" />
  757. <el-table-column label="保养级别" prop="upkeepLevel" min-width="110px" align="center" />
  758. <el-table-column label="保养人" prop="upkeepPerson" min-width="110px" align="center" />
  759. <el-table-column label="保养费用" prop="upkeepCost" min-width="110px" align="center" />
  760. </el-table>
  761. <pagination v-show="total>=0" :total="totalUpkeepbyeq" :page.sync="getBigupkeepbyeqParm.offset" :limit.sync="getBigupkeepbyeqParm.pagecount" @pagination="getBigupkeepbyeqList" />
  762. </el-tab-pane>
  763. <el-tab-pane v-if="isDisplayRecord" label="维修记录" name="fouth">
  764. <el-input v-model="getAssetMaintainParm.parammaps.repairCode" placeholder="维修单号" style="width: 140px;" class="filter-item" />
  765. <el-date-picker ref="inputDatetimeAssetMaintain" v-model="getAssetMaintainParm.parammaps.inputDatetimeAssetMaintain" class="inputDatetime" type="datetimerange" style="width: 250px;margin-bottom:10px" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
  766. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchAssetMaintain">搜索</el-button>
  767. <el-table
  768. :key="tableKey"
  769. v-loading="listLoadingAssetMaintain"
  770. element-loading-text="给我一点时间"
  771. :data="listAssetMaintain"
  772. border
  773. fit
  774. highlight-current-row
  775. style="width: 100%;"
  776. :row-style="rowStyle"
  777. :cell-style="cellStyle"
  778. class="elTable"
  779. @sort-change="tableSort"
  780. >
  781. <el-table-column label="序号" align="center" type="index" width="50px">
  782. <template slot-scope="scope">
  783. <span>{{ scope.$index + (pageNumAssetMaintain-1) * pageSizeAssetMaintain + 1 }}</span>
  784. </template>
  785. </el-table-column>
  786. <el-table-column label="维修单号" prop="repairCode" min-width="110px" align="center" />
  787. <el-table-column label="报修人" prop="requestName" min-width="110px" align="center" />
  788. <el-table-column label="报修时间" sortable prop="requestTime" min-width="110px" align="center" />
  789. <el-table-column label="维修人" prop="empname" min-width="110px" align="center" />
  790. <el-table-column label="维修时间" sortable prop="stopTime" min-width="110px" align="center" />
  791. <el-table-column label="诊断故障" prop="details" min-width="110px" align="center" />
  792. <el-table-column label="维修费用" sortable prop="maintenanceCost" min-width="110px" align="center" />
  793. </el-table>
  794. <pagination v-show="total>=0" :total="totalAssetMaintain" :page.sync="getAssetMaintainParm.offset" :limit.sync="getAssetMaintainParm.pagecount" @pagination="getAssetMaintainList" />
  795. </el-tab-pane>
  796. <el-tab-pane v-if="isDisplayRecord" label="启停记录" name="fifth">
  797. <div class="filter-container">
  798. <el-date-picker v-model="getAssetSTTParm.parammaps.startTime" type="date" placeholder="开启日期" style="width:170px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
  799. <el-date-picker v-model="getAssetSTTParm.parammaps.stopTime" type="date" placeholder="关闭日期" style="width:170px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" />
  800. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchAssetSTT">搜索</el-button>
  801. </div>
  802. <el-table
  803. :key="tableKey"
  804. v-loading="listLoadingAssetSTT"
  805. element-loading-text="给我一点时间"
  806. :data="listAssetSTT"
  807. border
  808. fit
  809. highlight-current-row
  810. style="width: 100%;"
  811. :row-style="rowStyle"
  812. :cell-style="cellStyle"
  813. class="elTable"
  814. >
  815. <el-table-column label="序号" align="center" type="index" width="50">
  816. <template slot-scope="scope">
  817. <span>{{ scope.$index + (pageNumAssetSTT-1) * pageSizeAssetSTT + 1 }}</span>
  818. </template>
  819. </el-table-column>
  820. <el-table-column label="开启时间" sortable prop="enabledTime" min-width="110px" align="center" />
  821. <el-table-column label="关闭时间" sortable prop="blockTime" min-width="110px" align="center" />
  822. <el-table-column label="运行时间(分钟)" sortable prop="runTime" min-width="110px" align="center" />
  823. <el-table-column label="关闭人" prop="blockName" min-width="110px" align="center" />
  824. </el-table>
  825. <pagination v-show="total>=0" :total="totalAssetSTT" :page.sync="getAssetSTTParm.offset" :limit.sync="getAssetSTTParm.pagecount" @pagination="getAssetSTTList" />
  826. </el-tab-pane>
  827. <el-tab-pane v-if="isDisplayRecord" label="变更记录" name="sixth">
  828. <div class="filter-container">
  829. <el-select v-model="getAssetChangeParm.parammaps.changeStatue" clearable placeholder="变更状态" class="filter-item" style="width: 120px;">
  830. <el-option v-for="item in changeStates" :key="item.id" :label="item.name" :value="item.id" />
  831. </el-select>
  832. <el-date-picker ref="inputDatetimeAssetChange" v-model="getAssetChangeParm.parammaps.inputDatetimeAssetChange" class="inputDatetime" type="datetimerange" style="width: 250px;margin-bottom:10px" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
  833. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchAssetChange">搜索</el-button>
  834. </div>
  835. <el-table
  836. :key="tableKey"
  837. v-loading="listLoadingAssetChange"
  838. element-loading-text="给我一点时间"
  839. :data="listAssetChange"
  840. border
  841. fit
  842. highlight-current-row
  843. style="width: 100%;"
  844. :row-style="rowStyle"
  845. :cell-style="cellStyle"
  846. class="elTable"
  847. >
  848. <el-table-column label="序号" align="center" type="index" width="50px">
  849. <template slot-scope="scope">
  850. <span>{{ scope.$index + (pageNumAssetChange-1) * pageSizeAssetChange + 1 }}</span>
  851. </template>
  852. </el-table-column>
  853. <el-table-column label="变更时间" sortable prop="changeTime" min-width="110px" align="center" />
  854. <el-table-column label="变更状态" :formatter="changeStatue" prop="blockTime" min-width="110px" align="center" />
  855. <el-table-column label="变更人" prop="changeName" min-width="110px" align="center" />
  856. </el-table>
  857. <pagination v-show="total>=0" :total="totalAssetChange" :page.sync="getAssetChangeParm.offset" :limit.sync="getAssetChangeParm.pagecount" @pagination="getAssetChangeList" />
  858. </el-tab-pane>
  859. <el-tab-pane v-if="isDisplayRecord" label="备件领用记录" name="seventh">
  860. <el-input v-model="getAssetPartApplyParm.parammaps.useCode" placeholder="出库单号" style="width: 140px;" class="filter-item" />
  861. <el-input v-model="getAssetPartApplyParm.parammaps.partCode" placeholder="备件编号" style="width: 140px;" class="filter-item" />
  862. <el-input v-model="getAssetPartApplyParm.parammaps.partName" placeholder="备件名称" style="width: 140px;" class="filter-item" />
  863. <el-date-picker ref="inputDatetimeAssetPartApply" v-model="getAssetPartApplyParm.parammaps.inputDatetimeAssetPartApply" class="inputDatetime" type="datetimerange" style="width: 250px;margin-bottom:10px" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
  864. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchAssetPartApply">搜索</el-button>
  865. <el-table
  866. :key="tableKey"
  867. v-loading="listLoadingAssetPartApply"
  868. element-loading-text="给我一点时间"
  869. :data="listAssetPartApply"
  870. border
  871. fit
  872. highlight-current-row
  873. style="width: 100%;"
  874. :row-style="rowStyle"
  875. :cell-style="cellStyle"
  876. class="elTable"
  877. @sort-change="tableSort"
  878. >
  879. <el-table-column label="序号" align="center" type="index" width="50px">
  880. <template slot-scope="scope">
  881. <span>{{ scope.$index + (pageNumAssetPartApply-1) * pageSizeAssetPartApply + 1 }}</span>
  882. </template>
  883. </el-table-column>
  884. <el-table-column label="出库单号" prop="useForm" min-width="110px" align="center" />
  885. <el-table-column label="备件编号" sortable prop="partCode" min-width="110px" align="center" />
  886. <el-table-column label="备件名称" prop="partName" min-width="110px" align="center" />
  887. <el-table-column label="备件规格" prop="specification" min-width="110px" align="center" />
  888. <el-table-column label="备件品牌" prop="brandName" min-width="110px" align="center" />
  889. <el-table-column label="计量单位" prop="unit" min-width="110px" align="center" />
  890. <el-table-column label="领用数量" sortable prop="useNumber" min-width="110px" align="center" />
  891. <el-table-column label="实际出库数量" sortable prop="checkoutNumber" min-width="110px" align="center" />
  892. <el-table-column label="单价" sortable prop="price" min-width="110px" align="center" />
  893. <el-table-column label="总价" sortable prop="sumPrice" min-width="110px" align="center" />
  894. <el-table-column label="领用部门" prop="departmentName" min-width="110px" align="center" />
  895. <el-table-column label="领用时间" sortable prop="receiveTime" min-width="110px" align="center" />
  896. <el-table-column label="距离上次时间(天)" sortable prop="dif" min-width="110px" align="center" />
  897. </el-table>
  898. <pagination v-show="total>=0" :total="totalAssetPartApply" :page.sync="getAssetPartApplyParm.offset" :limit.sync="getAssetPartApplyParm.pagecount" @pagination="getAssetPartApplyList" />
  899. </el-tab-pane>
  900. <el-tab-pane v-if="isDisplayRecord" label="费用统计" name="eighth">
  901. <el-row>
  902. <el-col :span="12">
  903. <div v-if="activeName==='eighth'" id="barChart1" style="width: 100%;height:400px;" />
  904. </el-col>
  905. <el-col :span="12">
  906. <div v-if="activeName==='eighth'" id="barChart2" style="width: 100%;height:400px;" />
  907. </el-col>
  908. </el-row>
  909. <el-dialog :title="textMap[dialogStatus]" append-to-body :visible.sync="dialogFormVisible_ChartSee" :close-on-click-modal="false" width="80%">
  910. <div class="app-contentSee">
  911. <div class="filter-container">
  912. <el-select v-model="getChartSeeParm.parammaps.useTypeV" placeholder="类型" clearable class="filter-item" style="width: 120px;">
  913. <el-option v-for="item in useTypes" :key="item.id" :label="item.name" :value="item.name" />
  914. </el-select>
  915. <el-date-picker ref="inputDatetime2" v-model="getChartSeeParm.parammaps.inputDatetime2" class="inputDatetime" type="datetimerange" style="width: 250px;top:-3px;" format="yyyy-MM-dd" value-format="yyyy-MM-dd" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" />
  916. <el-button v-waves class="filter-item" type="primary" icon="el-icon-search" @click="form_searchChartSee">搜索</el-button>
  917. <el-button class="filter-item" style="margin-left: 10px;" type="success" icon="el-icon-edit" @click="handleDownloadChartSee">导出</el-button>
  918. </div>
  919. <el-table
  920. :key="tableKey"
  921. v-loading="listLoadingChartSee"
  922. element-loading-text="给我一点时间"
  923. :data="listChartSee"
  924. border
  925. fit
  926. highlight-current-row
  927. style="width: 100%;"
  928. :row-style="rowStyle"
  929. :cell-style="cellStyle"
  930. class="elTable"
  931. >
  932. <el-table-column label="序号" align="center" type="index" width="50px">
  933. <template slot-scope="scope">
  934. <span>{{ scope.$index + (pageNumChartSee-1) * pageSizeChartSee + 1 }}</span>
  935. </template>
  936. </el-table-column>
  937. <el-table-column :key="1" label="类型" align="center">
  938. <template slot-scope="scope">
  939. <span>{{ scope.row.useTypeV }}</span>
  940. </template>
  941. </el-table-column>
  942. <el-table-column :key="2" label="单号" width="140px" align="center">
  943. <template slot-scope="scope">
  944. <span>{{ scope.row.RUcode }}</span>
  945. </template>
  946. </el-table-column>
  947. <el-table-column :key="3" label="领用日期" min-width="80px" align="center">
  948. <template slot-scope="scope">
  949. <span>{{ scope.row.creatTime }}</span>
  950. </template>
  951. </el-table-column>
  952. <el-table-column :key="4" label="领用部门" min-width="100px" align="center">
  953. <template slot-scope="scope">
  954. <span>{{ scope.row.departmentName }}</span>
  955. </template>
  956. </el-table-column>
  957. <el-table-column :key="5" label="备件编号" min-width="80px" align="center">
  958. <template slot-scope="scope">
  959. <span>{{ scope.row.partCode }}</span>
  960. </template>
  961. </el-table-column>
  962. <el-table-column :key="6" label="备件名称" min-width="80px" align="center">
  963. <template slot-scope="scope">
  964. <span>{{ scope.row.partName }}</span>
  965. </template>
  966. </el-table-column>
  967. <el-table-column :key="7" label="备件规格" min-width="80px" align="center">
  968. <template slot-scope="scope">
  969. <span>{{ scope.row.specification }}</span>
  970. </template>
  971. </el-table-column>
  972. <el-table-column :key="8" label="备件品牌" min-width="100px" align="center">
  973. <template slot-scope="scope">
  974. <span>{{ scope.row.brandName }}</span>
  975. </template>
  976. </el-table-column>
  977. <el-table-column :key="9" label="计量单位" min-width="80px" align="center">
  978. <template slot-scope="scope">
  979. <span>{{ scope.row.unit }}</span>
  980. </template>
  981. </el-table-column>
  982. <el-table-column :key="10" label="出库数量" min-width="110px" align="center">
  983. <template slot-scope="scope">
  984. <span>{{ scope.row.checkoutNumber }}</span>
  985. </template>
  986. </el-table-column>
  987. <el-table-column :key="11" label="退库数量" min-width="100px" align="center">
  988. <template slot-scope="scope">
  989. <span>{{ scope.row.quitNumber }}</span>
  990. </template>
  991. </el-table-column>
  992. <el-table-column :key="12" label="单价" min-width="110px" align="center">
  993. <template slot-scope="scope">
  994. <span>{{ scope.row.price }}</span>
  995. </template>
  996. </el-table-column>
  997. <el-table-column :key="13" label="总价" min-width="110px" align="center">
  998. <template slot-scope="scope">
  999. <span>{{ scope.row.sumPrice }}</span>
  1000. </template>
  1001. </el-table-column>
  1002. </el-table>
  1003. <pagination v-show="totalChartSee>=0" :total="totalChartSee" :page.sync="getChartSeeParm.offset" :limit.sync="getChartSeeParm.pagecount" @pagination="getChartSeeList" />
  1004. </div>
  1005. </el-dialog>
  1006. </el-tab-pane>
  1007. </el-tabs>
  1008. </div>
  1009. <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:10px">
  1010. <el-button @click="dialogFormVisible_See = false">关闭</el-button>
  1011. </div>
  1012. </div>
  1013. </el-dialog>
  1014. <!-- 审核 -->
  1015. <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible_Examine" :close-on-click-modal="false" width="30%">
  1016. <div class="app-examine">
  1017. <h3 style="width: 100%;margin:0 0 0 5%;line-height:50px;">请确认审核结果:</h3>
  1018. <el-form ref="examineTemp" :rules="rules" :model="examineTemp" label-position="right" style="width: 50%;margin:0 auto;">
  1019. <el-row style="width:88%;height:150px;margin:0 auto;">
  1020. <el-col :span="20">
  1021. <el-form-item>
  1022. <el-radio-group v-model="examineTemp.SHstatue" @change="changeSHStatue">
  1023. <el-radio :label="1" checked>通过</el-radio>
  1024. <el-radio :label="2">不通过</el-radio>
  1025. </el-radio-group>
  1026. </el-form-item>
  1027. </el-col>
  1028. <el-col v-if="statueReason" :span="22">
  1029. <el-input v-model="examineTemp.workflowNote" type="textarea" :autosize="{ minRows: 2, maxRows: 3}" placeholder="请输入不通过原因" />
  1030. </el-col>
  1031. </el-row>
  1032. </el-form>
  1033. </div>
  1034. <div slot="footer" class="dialog-footer">
  1035. <el-button type="primary" :disabled="isokDisable" @click="dialogStatus==='examine'?createExamineData():createExamineData()">确认</el-button>
  1036. <el-button @click="dialogFormVisible_Examine = false;">关闭</el-button>
  1037. </div>
  1038. </el-dialog>
  1039. <!-- 变更 -->
  1040. <el-dialog :title="textMap[dialogStatus]" :visible.sync="dialogFormVisible_change" :close-on-click-modal="false" width="30%">
  1041. <div class="app-change">
  1042. <el-form ref="batchChangeTemp" :rules="rules" :model="batchChange.temp" label-position="right" label-width="115px" style="width: 90%;margin:0 auto 30px" @click.native.prevent @submit.native.prevent>
  1043. <el-row>
  1044. <el-col :span="24">
  1045. <el-form-item label="变更部门:" prop="departmentId">
  1046. <el-select v-model="batchChange.temp.departmentId" placeholder="变更部门" class="filter-item" style="width: 100%;" @change="changeBatchDept">
  1047. <el-option v-for="item in batchChange.deptList" :key="item.deptid" :label="item.departmentName" :value="item.deptid" />
  1048. </el-select>
  1049. </el-form-item>
  1050. </el-col>
  1051. </el-row>
  1052. <el-row>
  1053. <el-col :span="24">
  1054. <el-form-item label="变更责任人:" prop="employeeId">
  1055. <el-select v-model="batchChange.temp.employeeId" placeholder="变更责任人" class="filter-item" style="width: 100%;" @change="changeBatchPerson">
  1056. <el-option v-for="item in batchChange.personList" :key="item.id" :label="item.empname" :value="item.id" />
  1057. </el-select>
  1058. </el-form-item>
  1059. </el-col>
  1060. </el-row>
  1061. </el-form>
  1062. <div slot="footer" class="dialog-footer" style="right:30px;position:absolute;bottom:10px">
  1063. <el-button type="primary" :disabled="isokDisable" @click="changeData()">保存并关闭</el-button>
  1064. <el-button @click="dialogFormVisible_change = false;">取消并关闭</el-button>
  1065. </div>
  1066. </div>
  1067. </el-dialog>
  1068. </div>
  1069. </template>
  1070. <script>
  1071. import echarts from 'echarts'
  1072. require('echarts/theme/macarons')
  1073. // 引入
  1074. import { GetDataByName, GetDataByNames, PostDataByName, PostDataByNames, getRecuData, checkButtons, ExecDataByConfig, failproccess, GetAccount, GetReportform } from '@/api/common'
  1075. import waves from '@/directive/waves'
  1076. import { parseTime, sortChange, json2excel } from '@/utils/index.js'
  1077. import Pagination from '@/components/Pagination'
  1078. import { MessageBox } from 'element-ui'
  1079. import TreeSelect from '@/components/TreeSelect'
  1080. import Cookies from 'js-cookie'
  1081. import { getToken } from '@/utils/auth'
  1082. export default {
  1083. inject: ['reload'],
  1084. name: 'Basics',
  1085. components: { Pagination, TreeSelect },
  1086. directives: { waves },
  1087. data() {
  1088. return {
  1089. isBasicsAdd: [], isBasicsCard: [], isBasicsUpdate: [], isBasicsDel: [], isBasicsDel2: [], isBasic: [], isBasicSH: [], isBasicExamine: [],
  1090. rules: {
  1091. // assetCode: [{ required: true, message: '必填', trigger: 'blur' }],
  1092. //eqName: [{ required: true, message: '必填', trigger: 'blur' }],
  1093. eqCode: [{ required: true, message: '必填', trigger: 'blur' }],
  1094. financeCode: [{ required: true, message: '必填', trigger: 'blur' }],
  1095. departmentId: [{ required: true, message: '必填', trigger: 'blur' }],
  1096. employeeId: [{ required: true, message: '必填', trigger: 'blur' }],
  1097. depreciation: [{ type: 'number', required: true, validator: (rule, value, callback) => {
  1098. if (!value) {
  1099. callback(new Error('不能为空'))
  1100. }
  1101. setTimeout(() => {
  1102. const re = /^[0-9]*[1-9][0-9]*$/ // /^[0-9]*[1-9][0-9]*$/
  1103. const rsCheck = re.test(value)
  1104. if (!rsCheck) {
  1105. callback(new Error('请输入正整数'))
  1106. } else {
  1107. callback()
  1108. }
  1109. }, 0)
  1110. }, trigger: 'blur' }]
  1111. },
  1112. rulesCreate: {
  1113. // assetCode: [{ required: true, message: '必填', trigger: 'blur' }],
  1114. //eqName: [{ required: true, message: '必填', trigger: 'blur' }],
  1115. eqCode: [{ required: true, message: '必填', trigger: 'blur' }],
  1116. financeCode: [{ required: true, message: '必填', trigger: 'blur' }],
  1117. departmentId: [{ required: true, message: '必填', trigger: 'blur' }],
  1118. employeeId: [{ required: true, message: '必填', trigger: 'blur' }],
  1119. deptId: [{ required: true, message: '必填', trigger: 'blur' }],
  1120. employeName: [{ required: true, message: '必填', trigger: 'blur' }],
  1121. pastureId: [{ required: true, message: '必填', trigger: 'blur' }],
  1122. maintenance: [{ required: true, message: '必填', trigger: 'blur' }],
  1123. leveloneTime: [{ required: true, message: '必填', trigger: 'blur' }],
  1124. leveltwoTime: [{ required: true, message: '必填', trigger: 'blur' }],
  1125. levelthreeTime: [{ required: true, message: '必填', trigger: 'blur' }],
  1126. levelone: [{ required: true, message: '必填', trigger: 'blur' }],
  1127. leveltwo: [{ required: true, message: '必填', trigger: 'blur' }],
  1128. levelthree: [{ required: true, message: '必填', trigger: 'blur' }],
  1129. depreciation: [{ type: 'number', required: true, validator: (rule, value, callback) => {
  1130. if (!value) {
  1131. callback(new Error('不能为空'))
  1132. }
  1133. setTimeout(() => {
  1134. const re = /^[0-9]*[1-9][0-9]*$/ // /^[0-9]*[1-9][0-9]*$/
  1135. const rsCheck = re.test(value)
  1136. if (!rsCheck) {
  1137. callback(new Error('请输入正整数'))
  1138. } else {
  1139. callback()
  1140. }
  1141. }, 0)
  1142. }, trigger: 'blur' }]
  1143. },
  1144. placeholder:"请选择设备类别",
  1145. findAllBrand: [], findAllProvider: [],
  1146. findAllAssetType: [], findAllPasture: [], findAllDepart: [], findAllEmploye: [],
  1147. getDictByName: [], upkeepgrades: [], createDepartList: [],
  1148. statues: [{ id: '0', name: '审核中' }, { id: '1', name: '已通过' }, { id: '2', name: '未通过' }],
  1149. pushNameList: [{ id: '60', name: '60' }, { id: '120', name: '120' }, { id: '180', name: '180' }],
  1150. pushNameList2: [{ id: '1', name: '1' }, { id: '2', name: '2' }, { id: '3', name: '3' }, { id: '5', name: '5' }, { id: '8', name: '8' }, { id: '12', name: '12' }, { id: '18', name: '18' }],
  1151. depreciationAlertList: [{ id: '0', name: '正常' }, { id: '1', name: '到期预警' }, { id: '2', name: '超期使用' }],
  1152. requestParams: [
  1153. { name: 'findAllBrand', offset: 0, pagecount: 0, params: [] },
  1154. { name: 'findAllProvider', offset: 0, pagecount: 0, params: [] },
  1155. { name: 'findAlllAssetProvider', offset: 0, pagecount: 0, params: [] },
  1156. { name: 'findAllAssetType', offset: 0, pagecount: 0, params: [] },
  1157. { name: 'findAllPasture', offset: 0, pagecount: 0, returntype: 'Map', parammaps: { 'id': Cookies.get('pastureid') }},
  1158. { name: 'findAllEmploye', offset: 0, pagecount: 0, parammaps: { 'pastureId': Cookies.get('pastureid') }},
  1159. { name: 'getDictByName', offset: 0, pagecount: 0, params: ['资产状态'] },
  1160. { name: 'getdictbyname', offset: 0, pagecount: 0, params: ['保养级别'] }
  1161. ],
  1162. getDepartParam: { name: 'findAllDepart1', offset: 0, pagecount: 0, parammaps: { 'pastureId': Cookies.get('pastureid'), 'eId': Cookies.get('employeid') }},
  1163. disabled: false,
  1164. nodeKey: 'id',
  1165. defaultCheckedKeys: [],
  1166. parentClass: [],
  1167. defaultProps: { children: 'children', label: 'typeName' },
  1168. getRecuListParm: { name: 'getAssetTypeList', idname: 'id', params: [-1] },
  1169. tableKey: 0,
  1170. list: [],
  1171. total: 0,
  1172. listLoading: true,
  1173. getdataListParm: {
  1174. name: 'getAssetList', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
  1175. parammaps: {proId:'',brandId:'', assetCode:'',eqCode: '', eqName: '', departmentId: '', pastureId: Cookies.get('pastureid'), pastureName: Cookies.get('pasturename'), status: '', inputDatetime1: '', startTime: '', stopTime: '', inputDatetime2: '', startTime2: '', stopTime2: '', inputDatetime3: '', startTime3: '', stopTime3: '', warning: '', eqClassId: '' }
  1176. },
  1177. listSH: [], totalSH: 0, listLoadingSH: true, tabName: '',
  1178. getdataListParmSH: {
  1179. name: 'getAssetListSH', page: 1, offset: 1, pagecount: 10, returntype: 'Map',
  1180. parammaps: { eqCode: '', eqName: '', pastureName: Cookies.get('pasturename'), status: '', inputDatetime1: '', startTime: '', stopTime: '', SHStatus: '' }
  1181. },
  1182. textMap: { update: '编辑', create: '新增', card: '查看设备信息', examine: '审核', change: '批量变更' },
  1183. dialogFormVisible: false,
  1184. dialogStatus: '',
  1185. pickerOptions1: {
  1186. disabledDate(time) {
  1187. return time.getTime() > Date.now()// 当天之前的时间可选
  1188. }
  1189. },
  1190. dialogImageUrl: '', dialogVisible: false,
  1191. fileList: [], showUpload: false,
  1192. headers: { optname: 'insertcustompic', id: 1, token: getToken() },
  1193. uploadImageUrl: process.env.VUE_APP_BASE_API + 'authdata/uploaderimage',
  1194. width: '',
  1195. createTemp: { inputDatetime: parseTime(new Date(), '{y}-{m}-{d}'), employeId: this.$store.state.user.employeid, inputUser: this.$store.state.user.employeid, deptId: this.$store.state.user.departmentid, departmentName: Cookies.get('departmentname'), pastureId: this.$store.state.user.pastureid, assetCode: '', eqClassName: '', eqClassId: '', eqCode: '', eqName: '', specification: '', providerName: '', brandName: '', financeCode: '', status: '正常', purpose: '', purchaseDate: parseTime(new Date(), '{y}-{m}-{d}'), entranceDate: parseTime(new Date(), '{y}-{m}-{d}'), yearUpkeepCost: '', yearMaintainDost: '', yuanzhi: '', baseHours: '', upkeepgrade: '', salvage: '', subtractvalue: '', yearMaintainCost: '', brandId: '', providerId: '', inputUserName: '', employeName: this.$store.state.user.employename, depreciation: '5', maintenance: '', levelone: '', leveltwo: '', levelthree: '', pushTime: '', leveloneTime: '', leveltwoTime: '', levelthreeTime: '' },
  1196. requestParam: { name: 'insertAsset', offset: 0, pagecount: 0, parammaps: {}},
  1197. seeTemp: {},
  1198. dialogFormVisible_Examine: false,
  1199. dialogFormVisible_See: false,
  1200. activeName: 'first',
  1201. maintainTypes: [{ id: '0', name: '周保养' }, { id: '1', name: '月保养' }, { id: '2', name: '间隔保养' }],
  1202. changeStates: [{ id: '17', name: '正常' }, { id: '18', name: '闲置' }, { id: '19', name: '报废' }, { id: '20', name: '封存' }],
  1203. getdataEQNumber: { name: 'cerateEQNumber', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: {}},
  1204. dialoFormVisible_Examine: false,
  1205. examineTemp: { SHstatue: 1 },
  1206. statueReason: false,
  1207. activeList: [],
  1208. active: 3,
  1209. isFlowChart: false,
  1210. isDisplayRecord: false,
  1211. buttons: [],
  1212. // 查看-点检记录
  1213. getAssetBigSpotCheckListParm: { name: 'getAssetBigSpotCheck1', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { inputDatetimeSpotCheck1: '', startTime: '', stopTime: '' }},
  1214. listLoadingSpotCheck1: false,
  1215. listSpotCheck1: [],
  1216. totalSpotCheck1: 0,
  1217. // 查看-保养记录
  1218. getBigupkeepbyeqParm: { name: 'getBigupkeepbyeq', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { inputDatetimeUpkeepbyeq: '', startTime: '', stopTime: '', upkeepType: '', upkeepCode: '' }},
  1219. listLoadingUpkeepbyeq: false,
  1220. listUpkeepbyeq: [],
  1221. totalUpkeepbyeq: 0,
  1222. // 查看-维修记录
  1223. getAssetMaintainParm: { name: 'getAssetMaintain1', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { inputDatetimeAssetMaintain: '', startTime: '', stopTime: '', repairCode: '' }},
  1224. listLoadingAssetMaintain: false,
  1225. listAssetMaintain: [],
  1226. totalAssetMaintain: 0,
  1227. // 查看-启停记录
  1228. getAssetSTTParm: { name: 'getAssetSTT1', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { startTime: '', stopTime: '' }},
  1229. listLoadingAssetSTT: false,
  1230. listAssetSTT: [],
  1231. totalAssetSTT: 0,
  1232. // 查看-变更记录
  1233. getAssetChangeParm: { name: 'getAssetChange1', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { startTime: '', stopTime: '', changeStatue: '', inputDatetimeAssetChange: '' }},
  1234. listLoadingAssetChange: false,
  1235. listAssetChange: [],
  1236. totalAssetChange: 0,
  1237. // 查看-备件领用记录
  1238. getAssetPartApplyParm: { name: 'getAssetPartApply', page: 1, offset: 1, pagecount: 10, returntype: 'Map', parammaps: { startTime: '', stopTime: '', inputDatetimeAssetPartApply: '' }},
  1239. listLoadingAssetPartApply: false,
  1240. listAssetPartApply: [],
  1241. totalAssetPartApply: 0,
  1242. downLoadParm: {},
  1243. downLoadList: [],
  1244. requestBrand: {
  1245. name: 'getBrandByPartCode',
  1246. page: 0,
  1247. offset: 0,
  1248. pagecount: 10,
  1249. returntype: 'Map',
  1250. parammaps: {}
  1251. },
  1252. BrandList: [],
  1253. requestEmploye: {
  1254. name: 'findAllEmployeV2',
  1255. page: 0,
  1256. offset: 0,
  1257. pagecount: 10,
  1258. returntype: 'Map',
  1259. parammaps: {
  1260. pastureId: Cookies.get('pastureid')
  1261. }
  1262. },
  1263. employeList: [],
  1264. totaltitle: 0,
  1265. getBarChart1Parm: {
  1266. name: 'getReportEqCostYear',
  1267. parammaps: {}
  1268. },
  1269. barChart1: null,
  1270. chart_data1: {},
  1271. getBarChart2Parm: {
  1272. name: 'getReportEqCostMonth',
  1273. parammaps: {
  1274. receiveTime: new Date().getFullYear()
  1275. }
  1276. },
  1277. barChart2: null,
  1278. chart_data2: {},
  1279. dialogFormVisible_ChartSee: false,
  1280. getChartSeeParm: {
  1281. name: 'getEqPartuseDetailList',
  1282. page: 0,
  1283. offset: 0,
  1284. pagecount: 10,
  1285. returntype: 'Map',
  1286. parammaps: {
  1287. receiveTime: '',
  1288. eqId: '',
  1289. useTypeV: '',
  1290. inputDatetime2: '',
  1291. stopTime: '',
  1292. startTime: ''
  1293. }
  1294. },
  1295. listLoadingChartSee: false,
  1296. totalChartSee: 0,
  1297. listChartSee: [],
  1298. pageNum: 0,
  1299. pageSize: 0,
  1300. pageNumSH: 0,
  1301. pageSizeSH: 0,
  1302. useTypes: [{ id: 0, name: '维修' }, { id: 1, name: '保养' }],
  1303. downLoadParm2: {},
  1304. downLoadList2: [],
  1305. isPercentage: false,
  1306. percentage: 1,
  1307. isokDisable: false,
  1308. edit: 0,
  1309. selectionList: [],
  1310. dialogFormVisible_change: false,
  1311. batchChange: {
  1312. temp: { departmentId: '', employeeId: '' },
  1313. getdataListParmDept: { name: 'getAssetAndEmpList', offset: 0, pagecount: 0, parammaps: {}},
  1314. deptList: [],
  1315. getdataListParmPerson: { name: 'getAllEmp', offset: 0, pagecount: 0, parammaps: {}},
  1316. personList: []
  1317. },
  1318. rowStyle: { maxHeight: 50 + 'px', height: 45 + 'px' },
  1319. cellStyle: { padding: 0 + 'px' },
  1320. myHeight:document.documentElement.clientHeight - 85- 250
  1321. }
  1322. },
  1323. computed: {
  1324. // 设置请求头
  1325. // headers() {
  1326. // return {
  1327. // // 设置token
  1328. // // eslint-disable-next-line no-undef
  1329. // token: getToken()
  1330. // }
  1331. // },
  1332. uploadData() {
  1333. return {
  1334. name: 'importStockUse',
  1335. importParams: '牧场,设备类别,资产编号,设备名称,设备内部编号,设备规格,品牌,供应商,用途,状态,购置日期,入场日期,折旧年限,财务编号,原值,残值,月核减值,保养级别,保养费用,维修费用,维修费用,基数(小时),部门,责任人,录入人,录入时间,使用时长(年),使用率(%),SignColumn',
  1336. sheetname: 'SheetJS'
  1337. }
  1338. },
  1339. // 设置上传地址
  1340. uploadExcelUrl() {
  1341. // process.env.VUE_APP_BASE_API是服务器的路径,也是axios的基本路径
  1342. return process.env.VUE_APP_BASE_API + 'authdata/equipment'
  1343. }
  1344. },
  1345. created() {
  1346. const that = this
  1347. GetDataByName({ 'name': 'getUserPCButtons', 'parammaps': { 'jwt_username': Cookies.get('name') }}).then(response => {
  1348. that.buttons = response.data.list
  1349. that.get_auto_buttons()
  1350. })
  1351. this.get_table_dataSH()
  1352. this.getDownClassList()
  1353. if (this.$route.query.tabName == undefined) {
  1354. this.tabName = 'first'
  1355. } else {
  1356. this.tabName = this.$route.query.tabName
  1357. }
  1358. if (this.isBasic === false) {
  1359. this.tabName = 'second'
  1360. }
  1361. if (this.tabName == 'first') {
  1362. this.isDisplayRecord = true
  1363. this.isFlowChart = false
  1364. } else {
  1365. this.isDisplayRecord = false
  1366. this.isFlowChart = true
  1367. }
  1368. if (this.$route.query.myPath !== undefined && this.$route.query.myPath == 'AssetStandardManagement') {
  1369. setTimeout(() => {
  1370. if (this.$route.query.pastureName !== undefined && this.$route.query.pastureId !== undefined && this.$route.query.departmentId !== undefined) {
  1371. this.getdataListParm.parammaps.pastureName = this.$route.query.pastureName
  1372. this.getdataListParm.parammaps.pastureId = this.$route.query.pastureId
  1373. // console.log(isNaN(this.$route.query.departmentId), '9999')
  1374. this.getdataListParm.parammaps.eqClassId = this.$route.query.eqClassId
  1375. this.getdataListParm.parammaps.eqClassName = this.$route.query.eqClassName
  1376. this.defaultCheckedKeys = [this.getdataListParm.parammaps.eqClassId]
  1377. this.getDepartParam.parammaps.pastureId = this.$route.query.pastureId
  1378. if (isNaN(this.$route.query.departmentId)) {
  1379. this.getdataListParm.parammaps.departmentId = ''
  1380. } else {
  1381. this.getdataListParm.parammaps.departmentId = parseInt(this.$route.query.departmentId)
  1382. }
  1383. this.getDepartDownList()
  1384. this.$forceUpdate()
  1385. } else {
  1386. this.getdataListParm.parammaps.pastureName = Cookies.get('pasturename')
  1387. this.getdataListParm.parammaps.pastureId = Cookies.get('pastureid')
  1388. this.getdataListParm.parammaps.departmentId = ''
  1389. }
  1390. this.get_table_data()
  1391. }, 5000)
  1392. } else {
  1393. if (this.$route.query.pastureName !== undefined && this.$route.query.pastureId !== undefined && this.$route.query.departmentId !== undefined) {
  1394. this.getdataListParm.parammaps.pastureName = this.$route.query.pastureName
  1395. this.getdataListParm.parammaps.pastureId = this.$route.query.pastureId
  1396. this.getdataListParm.parammaps.departmentId = parseInt(this.$route.query.departmentId)
  1397. } else {
  1398. this.getdataListParm.parammaps.pastureName = Cookies.get('pasturename')
  1399. this.getdataListParm.parammaps.pastureId = Cookies.get('pastureid')
  1400. this.getdataListParm.parammaps.departmentId = ''
  1401. }
  1402. this.get_table_data()
  1403. }
  1404. if (this.$route.query.myPath !== undefined && this.$route.query.myPath == 'equipmentOverview') {
  1405. this.getDepartParam.parammaps.pastureId = this.$route.query.pastureId
  1406. }
  1407. if (this.$route.query.myPath !== undefined && this.$route.query.myPath == 'equipmentOverview2') {
  1408. setTimeout(() => {
  1409. if (this.$route.query.pastureName !== undefined && this.$route.query.pastureId !== undefined && this.$route.query.eqClassId !== undefined) {
  1410. this.getdataListParm.parammaps.pastureName = this.$route.query.pastureName
  1411. this.getdataListParm.parammaps.pastureId = this.$route.query.pastureId
  1412. this.getdataListParm.parammaps.eqClassId = this.$route.query.eqClassId
  1413. this.getdataListParm.parammaps.eqClassName = this.$route.query.eqClassName
  1414. this.defaultCheckedKeys = [this.getdataListParm.parammaps.eqClassId]
  1415. this.getDepartParam.parammaps.pastureId = this.$route.query.pastureId
  1416. this.getDepartDownList()
  1417. this.$forceUpdate()
  1418. } else {
  1419. this.getdataListParm.parammaps.pastureName = Cookies.get('pasturename')
  1420. this.getdataListParm.parammaps.pastureId = Cookies.get('pastureid')
  1421. this.getdataListParm.parammaps.eqClassId = ''
  1422. }
  1423. this.get_table_data()
  1424. }, 5000)
  1425. } else {
  1426. if (this.$route.query.pastureName !== undefined && this.$route.query.pastureId !== undefined && this.$route.query.departmentId !== undefined) {
  1427. this.getdataListParm.parammaps.pastureName = this.$route.query.pastureName
  1428. this.getdataListParm.parammaps.pastureId = this.$route.query.pastureId
  1429. this.getdataListParm.parammaps.departmentId = parseInt(this.$route.query.departmentId)
  1430. } else {
  1431. this.getdataListParm.parammaps.pastureName = Cookies.get('pasturename')
  1432. this.getdataListParm.parammaps.pastureId = Cookies.get('pastureid')
  1433. this.getdataListParm.parammaps.departmentId = ''
  1434. }
  1435. this.get_table_data()
  1436. }
  1437. // 设备购置报废统计
  1438. if (this.$route.query.myPath !== undefined && this.$route.query.myPath == 'PurchaseScrap') {
  1439. if (this.$route.query.project == '新购设备数') {
  1440. this.getdataListParm.parammaps.pastureName = this.$route.query.pastureName
  1441. this.getdataListParm.parammaps.inputDatetime2 = [parseTime(new Date(), '{y}') + '-01-01', parseTime(new Date(), '{y}') + '-12-31']
  1442. this.getDepartParam.parammaps.pastureId = this.$route.query.pastureId
  1443. this.getDepartDownList()
  1444. } else {
  1445. this.getdataListParm.parammaps.pastureName = this.$route.query.pastureName
  1446. this.getdataListParm.parammaps.inputDatetime3 = [parseTime(new Date(), '{y}') + '-01-01', parseTime(new Date(), '{y}') + '-12-31']
  1447. this.getDepartParam.parammaps.pastureId = this.$route.query.pastureId
  1448. this.getDepartDownList()
  1449. }
  1450. }
  1451. this.get_table_data()
  1452. // Window.addEventListener('keyup', )
  1453. this.keyupSubmit()
  1454. },
  1455. methods: {
  1456. // 导入
  1457. beforeImportExcel(file) {
  1458. const isLt2M = file.size / 1024 / 1024 < 10
  1459. if (!isLt2M) {
  1460. this.$message.error('上传文件大小不能超过 10MB!')
  1461. }
  1462. return isLt2M
  1463. },
  1464. handleImportExcelSuccess(res, file) {
  1465. if (res.msg === 'ok') {
  1466. this.$message({
  1467. title: '成功',
  1468. message: '导入成功:' + res.data.success + '条!',
  1469. type: 'success',
  1470. duration: 2000
  1471. })
  1472. if (res.data.err_count > 0) {
  1473. this.$notify({
  1474. title: '失败',
  1475. message: '导入失败:' + res.data.err_count + '条!',
  1476. type: 'danger',
  1477. duration: 2000
  1478. })
  1479. }
  1480. } else {
  1481. this.$notify({
  1482. title: '失败',
  1483. message: '上传失败',
  1484. type: 'danger',
  1485. duration: 2000
  1486. })
  1487. }
  1488. },
  1489. formatJsonTemp(filterVal, jsonData) {
  1490. return jsonData.map(v =>
  1491. filterVal.map(j => {
  1492. if (j === 'timestamp') {
  1493. return parseTime(v[j])
  1494. } else {
  1495. return v[j]
  1496. }
  1497. })
  1498. )
  1499. },
  1500. tableSort2(column) {
  1501. sortChange(column, this.list)
  1502. },
  1503. tableSort(column) {
  1504. if (this.activeName == 'third') {
  1505. sortChange(column, this.listUpkeepbyeq)
  1506. } else if (this.activeName == 'fouth') {
  1507. sortChange(column, this.listAssetMaintain)
  1508. } else if (this.activeName == 'seventh') {
  1509. sortChange(column, this.listAssetPartApply)
  1510. }
  1511. },
  1512. get_auto_buttons() {
  1513. // 新增
  1514. const BasicsAdd = 'asset:basics:add'
  1515. const isBasicsAdd = checkButtons(this.$store.state.user.buttons, BasicsAdd)
  1516. this.isBasicsAdd = isBasicsAdd
  1517. // 卡片
  1518. const BasicsCard = 'asset:basics:kapian'
  1519. const isBasicsCard = checkButtons(this.$store.state.user.buttons, BasicsCard)
  1520. this.isBasicsCard = isBasicsCard
  1521. // 编辑
  1522. const BasicsUpdate = 'asset:basics:update'
  1523. const isBasicsUpdate = checkButtons(this.$store.state.user.buttons, BasicsUpdate)
  1524. this.isBasicsUpdate = isBasicsUpdate
  1525. // 删除
  1526. const BasicsDel = 'asset:basics:del'
  1527. const isBasicsDel = checkButtons(this.$store.state.user.buttons, BasicsDel)
  1528. this.isBasicsDel = isBasicsDel
  1529. // 设备基础信息-删除
  1530. const BasicsDel2 = 'asset:basics:del2'
  1531. const isBasicsDel2 = checkButtons(this.$store.state.user.buttons, BasicsDel2)
  1532. this.isBasicsDel2 = isBasicsDel2
  1533. // 设备基础信息
  1534. const Basic = 'asset:basic:basic'
  1535. const isBasic = checkButtons(this.$store.state.user.buttons, Basic)
  1536. this.isBasic = isBasic
  1537. // 设备审核
  1538. const BasicSH = 'asset:basic:shjm'
  1539. const isBasicSH = checkButtons(this.$store.state.user.buttons, BasicSH)
  1540. this.isBasicSH = isBasicSH
  1541. // 审核
  1542. const BasicExamine = 'asset:basic:shenhe'
  1543. const isBasicExamine = checkButtons(this.$store.state.user.buttons, BasicExamine)
  1544. this.isBasicExamine = isBasicExamine
  1545. },
  1546. // 2-2:下拉框
  1547. get_select_list() {
  1548. GetDataByNames(this.requestParams).then(response => {
  1549. if (response.data.list !== null) {
  1550. this.findAllBrand = response.data.findAllBrand.list
  1551. this.findAllProvider = response.data.findAllProvider.list
  1552. this.findAllAssetType = response.data.findAllAssetType.list
  1553. this.findAllPasture = response.data.findAllPasture.list
  1554. this.findAllEmploye = response.data.findAllEmploye.list
  1555. this.getDictByName = response.data.getDictByName.list
  1556. this.upkeepgrades = response.data.getdictbyname.list
  1557. this.getDepartDownList()
  1558. }
  1559. })
  1560. },
  1561. getDepartDownList() {
  1562. GetDataByName(this.getDepartParam).then(response => {
  1563. this.findAllDepart = response.data.list
  1564. })
  1565. },
  1566. changePastureName(item) {
  1567. this.getDepartParam.parammaps.pastureId = this.findAllPasture.find(obj => obj.name == item).id
  1568. this.getdataListParm.parammaps.departmentId = ''
  1569. this.getDepartDownList()
  1570. },
  1571. getCreateDepartDownList() {
  1572. GetDataByName(this.getDepartParam).then(response => {
  1573. this.createDepartList = response.data.list
  1574. if (this.edit == 1) {
  1575. if (this.createDepartList.find(obj => obj.id == Cookies.get('departmentid'))) {
  1576. this.createTemp.departmentId = parseInt(Cookies.get('departmentid'))
  1577. this.createTemp.departmentName = this.createDepartList.find(obj => obj.id == Cookies.get('departmentid')).name
  1578. this.createTemp.deptId = parseInt(Cookies.get('departmentid'))
  1579. } else {
  1580. this.createTemp.departmentId = response.data.list[0].id
  1581. this.createTemp.departmentId = response.data.list[0].id
  1582. this.createTemp.deptId = response.data.list[0].name
  1583. }
  1584. }
  1585. })
  1586. },
  1587. changePasture(item) {
  1588. this.getDepartParam.parammaps.pastureId = item
  1589. this.edit = 1
  1590. this.getCreateDepartDownList()
  1591. },
  1592. changeDepart(item) {
  1593. this.createTemp.departmentName = this.createDepartList.find(obj => obj.id == item).name
  1594. },
  1595. get_table_data() {
  1596. this.listLoading = true
  1597. if (this.getdataListParm.parammaps.inputDatetime1 == null) {
  1598. this.getdataListParm.parammaps.inputDatetime1 = ''
  1599. this.getdataListParm.parammaps.startTime = ''
  1600. this.getdataListParm.parammaps.stopTime = ''
  1601. } else {
  1602. this.getdataListParm.parammaps.startTime = this.getdataListParm.parammaps.inputDatetime1[0]
  1603. this.getdataListParm.parammaps.stopTime = this.getdataListParm.parammaps.inputDatetime1[1]
  1604. }
  1605. if (this.getdataListParm.parammaps.inputDatetime2 == null || this.getdataListParm.parammaps.inputDatetime2 == '') {
  1606. this.getdataListParm.parammaps.inputDatetime2 = ''
  1607. this.getdataListParm.parammaps.startTime2 = ''
  1608. this.getdataListParm.parammaps.stopTime2 = ''
  1609. } else {
  1610. this.getdataListParm.parammaps.startTime2 = this.getdataListParm.parammaps.inputDatetime2[0]
  1611. this.getdataListParm.parammaps.stopTime2 = this.getdataListParm.parammaps.inputDatetime2[1]
  1612. }
  1613. if (this.getdataListParm.parammaps.inputDatetime3 == null || this.getdataListParm.parammaps.inputDatetime3 == '') {
  1614. this.getdataListParm.parammaps.inputDatetime3 = ''
  1615. this.getdataListParm.parammaps.startTime3 = ''
  1616. this.getdataListParm.parammaps.stopTime3 = ''
  1617. } else {
  1618. this.getdataListParm.parammaps.startTime3 = this.getdataListParm.parammaps.inputDatetime3[0]
  1619. this.getdataListParm.parammaps.stopTime3 = this.getdataListParm.parammaps.inputDatetime3[1]
  1620. }
  1621. GetDataByName(this.getdataListParm).then(response => {
  1622. console.log('table数据', response.data.list)
  1623. if (response.data.list !== null) {
  1624. this.list = response.data.list
  1625. for (let i = 0; i < response.data.list.length; i++) {
  1626. if (response.data.list[i].srcpath !== null && response.data.list[i].picpath !== null && response.data.list[i].srcpath !== undefined && response.data.list[i].picpath !== undefined) {
  1627. this.list[i].srcpath = process.env.VUE_APP_BASE_API + response.data.list[i].srcpath
  1628. this.list[i].picpath = process.env.VUE_APP_BASE_API + response.data.list[i].picpath
  1629. } else {
  1630. this.list[i].srcpath = ''
  1631. this.list[i].picpath = ''
  1632. }
  1633. }
  1634. this.pageNum = response.data.pageNum
  1635. this.pageSize = response.data.pageSize
  1636. } else {
  1637. this.list = []
  1638. }
  1639. this.total = response.data.total
  1640. setTimeout(() => {
  1641. this.listLoading = false
  1642. }, 100)
  1643. this.get_select_list()
  1644. })
  1645. },
  1646. get_table_dataSH() {
  1647. this.listLoadingSH = true
  1648. console.log(this.$refs)
  1649. console.log(this.$refs['inputDatetime1'])
  1650. if (this.getdataListParmSH.parammaps.inputDatetime1 == null) {
  1651. this.getdataListParmSH.parammaps.inputDatetime1 = ''
  1652. } else {
  1653. this.getdataListParmSH.parammaps.startTime = this.getdataListParmSH.parammaps.inputDatetime1[0]
  1654. this.getdataListParmSH.parammaps.stopTime = this.getdataListParmSH.parammaps.inputDatetime1[1]
  1655. }
  1656. GetDataByName(this.getdataListParmSH).then(response => {
  1657. console.log('table数据', response.data.list)
  1658. if (response.data.list !== null) {
  1659. this.listSH = response.data.list
  1660. for (let i = 0; i < response.data.list.length; i++) {
  1661. if (response.data.list[i].srcpath !== null && response.data.list[i].picpath) {
  1662. this.listSH[i].srcpath = process.env.VUE_APP_BASE_API + response.data.list[i].srcpath
  1663. this.listSH[i].picpath = process.env.VUE_APP_BASE_API + response.data.list[i].picpath
  1664. } else {
  1665. this.listSH[i].srcpath = ''
  1666. this.listSH[i].picpath = ''
  1667. }
  1668. }
  1669. this.pageNumSH = response.data.pageNum
  1670. this.pageSizeSH = response.data.pageSize
  1671. } else {
  1672. this.listSH = []
  1673. }
  1674. this.totalSH = response.data.total
  1675. setTimeout(() => {
  1676. this.listLoadingSH = false
  1677. }, 100)
  1678. })
  1679. },
  1680. SHStatus: function(cellValue) {
  1681. if (cellValue.SHStatus == 0) {
  1682. return '审核中'
  1683. } else if (cellValue.SHStatus == 1) {
  1684. return '已通过'
  1685. } else if (cellValue.SHStatus == 2) {
  1686. return '未通过'
  1687. } else if (cellValue.SHStatus == 3) {
  1688. return '历史数据'
  1689. }
  1690. },
  1691. form_search() {
  1692. this.listLoading = true
  1693. this.getdataListParm.parammaps.pastureId = ''
  1694. if (this.getdataListParm.parammaps.warning !== '') {
  1695. this.getdataListParm.parammaps.d1 = 1
  1696. } else {
  1697. this.getdataListParm.parammaps.d1 = ''
  1698. }
  1699. if (this.getdataListParm.parammaps.inputDatetime1 == null) {
  1700. this.getdataListParm.parammaps.inputDatetime1 = ''
  1701. this.getdataListParm.parammaps.startTime = ''
  1702. this.getdataListParm.parammaps.stopTime = ''
  1703. } else {
  1704. this.getdataListParm.parammaps.startTime = this.getdataListParm.parammaps.inputDatetime1[0]
  1705. this.getdataListParm.parammaps.stopTime = this.getdataListParm.parammaps.inputDatetime1[1]
  1706. }
  1707. console.log(this.getdataListParm.parammaps.inputDatetime2)
  1708. if (this.getdataListParm.parammaps.inputDatetime2 == null) {
  1709. this.getdataListParm.parammaps.inputDatetime2 = ''
  1710. this.getdataListParm.parammaps.startTime2 = ''
  1711. this.getdataListParm.parammaps.stopTime2 = ''
  1712. } else {
  1713. this.getdataListParm.parammaps.startTime2 = this.getdataListParm.parammaps.inputDatetime2[0]
  1714. this.getdataListParm.parammaps.stopTime2 = this.getdataListParm.parammaps.inputDatetime2[1]
  1715. }
  1716. if (this.getdataListParm.parammaps.inputDatetime3 == null) {
  1717. this.getdataListParm.parammaps.inputDatetime3 = ''
  1718. this.getdataListParm.parammaps.startTime3 = ''
  1719. this.getdataListParm.parammaps.stopTime3 = ''
  1720. } else {
  1721. this.getdataListParm.parammaps.startTime3 = this.getdataListParm.parammaps.inputDatetime3[0]
  1722. this.getdataListParm.parammaps.stopTime3 = this.getdataListParm.parammaps.inputDatetime3[1]
  1723. }
  1724. this.getdataListParm.offset = 1
  1725. this.get_table_data()
  1726. },
  1727. form_searchSH() {
  1728. this.listLoadingSH = true
  1729. if (this.getdataListParmSH.parammaps.inputDatetime1 == null) {
  1730. this.getdataListParmSH.parammaps.inputDatetime1 = ''
  1731. } else {
  1732. this.getdataListParmSH.parammaps.startTime = this.getdataListParmSH.parammaps.inputDatetime1[0]
  1733. this.getdataListParmSH.parammaps.stopTime = this.getdataListParmSH.parammaps.inputDatetime1[1]
  1734. }
  1735. this.getdataListParmSH.offset = 1
  1736. this.get_table_dataSH()
  1737. },
  1738. handlePicChange(file, fileList) {
  1739. if (fileList.length > 0) {
  1740. this.$nextTick(() => {
  1741. this.showUpload = true
  1742. })
  1743. } else {
  1744. this.$nextTick(() => {
  1745. this.showUpload = false
  1746. })
  1747. }
  1748. console.log(this.createTemp)
  1749. },
  1750. handlePicSuccess(response, file, fileList) {
  1751. if (fileList.length > 0) {
  1752. this.$nextTick(() => {
  1753. this.showUpload = true
  1754. })
  1755. } else {
  1756. this.$nextTick(() => {
  1757. this.showUpload = false
  1758. })
  1759. }
  1760. if (this.createTemp.picpath === undefined || this.createTemp.picpath === '' || this.createTemp.picpath == -1) {
  1761. this.$set(this.createTemp, 'picpath', response.execresult.LastInsertId)
  1762. }
  1763. },
  1764. handlePicRemove(file, fileList) {
  1765. if (this.dialogStatus === 'create') {
  1766. if (fileList.length < 1) {
  1767. this.showUpload = false
  1768. }
  1769. for (const key in this.createTemp) {
  1770. if (this.createTemp[key] === file.response.execresult.LastInsertId) {
  1771. this.$delete(this.createTemp, key)
  1772. }
  1773. }
  1774. } else {
  1775. if (fileList.length < 1) {
  1776. this.$nextTick(() => {
  1777. this.showUpload = false
  1778. })
  1779. }
  1780. const url = file.url
  1781. console.log(url, 'url')
  1782. for (const key in this.createTemp) {
  1783. console.log(this.createTemp[key], 'createTemp[key]')
  1784. if (this.createTemp[key] === url) {
  1785. console.log(key)
  1786. if (key === 'picpath') {
  1787. this.$delete(this.createTemp, 'picpath')
  1788. this.$delete(this.createTemp, 'picId')
  1789. }
  1790. }
  1791. }
  1792. }
  1793. console.log(this.createTemp, '文件列表移除文件时的钩子row')
  1794. },
  1795. handlePicPreview(file) {
  1796. this.dialogImageUrl = file.url
  1797. this.dialogVisible = true
  1798. },
  1799. onLoad(e) {
  1800. const img = e.target
  1801. let width = 0
  1802. if (img.fileSize > 0 || (img.width > 1 && img.height > 1)) {
  1803. width = img.width + 40
  1804. }
  1805. this.width = width + 'px'
  1806. },
  1807. add_dialog_saveAdd() {
  1808. console.log('点击了保存',this.createTemp.maintenance)
  1809. this.isokDisable = true
  1810. setTimeout(() => {
  1811. this.isokDisable = false
  1812. }, 1000)
  1813. this.$refs['createTemp'].validate(valid => {
  1814. if (valid) {
  1815. for (var i = 0; i < this.listAdd.length; i++) {
  1816. if (this.listAdd[i].score == null) {
  1817. this.$message({ type: 'warning', message: '请检查检查结果是否为空', duration: 2000 })
  1818. return false
  1819. }
  1820. if (this.listAdd[i].pic1 == undefined) {
  1821. this.listAdd[i].pic1 = -1
  1822. }
  1823. if (this.listAdd[i].pic2 == undefined) {
  1824. this.listAdd[i].pic2 = -1
  1825. }
  1826. if (this.listAdd[i].pic3 == undefined) {
  1827. this.listAdd[i].pic3 = -1
  1828. }
  1829. }
  1830. this.postDataPramas.common = { 'returnmap': '0' }
  1831. this.postDataPramas.data = []
  1832. this.postDataPramas.data[0] = { 'name': 'insertBigjudge', 'type': 'e', 'parammaps': {
  1833. pastureId: this.createTemp.pastureId,
  1834. batime: this.createTemp.batime,
  1835. empId: this.createTemp.empId
  1836. }}
  1837. this.postDataPramas.data[1] = { 'name': 'insertSpotList', 'resultmaps': { 'list': this.listAdd }}
  1838. this.postDataPramas.data[1].children = []
  1839. this.postDataPramas.data[1].children[0] = { 'name': 'insertjudge', 'type': 'e', 'parammaps': {
  1840. bigId: '@insertBigjudge.LastInsertId',
  1841. statue: '@insertSpotList.statue',
  1842. score: '@insertSpotList.score',
  1843. note: '@insertSpotList.note',
  1844. pic1: '@insertSpotList.pic1',
  1845. pic2: '@insertSpotList.pic2',
  1846. pic3: '@insertSpotList.pic3'
  1847. }}
  1848. ExecDataByConfig(this.postDataPramas).then(response => {
  1849. console.log('新增保存发送参数', this.postDataPramas)
  1850. if (response.msg === 'fail') {
  1851. this.$notify({ title: '保存失败', message: response.data, type: 'warning', duration: 2000 })
  1852. } else {
  1853. this.getdataListParm.parammaps.inputDatetime = ''
  1854. this.get_table_data()
  1855. this.dialogFormVisibleAdd = false
  1856. this.createTemp.providerName = ''
  1857. this.$notify({ title: '', message: '保存成功', type: 'success', duration: 2000 })
  1858. }
  1859. })
  1860. }
  1861. })
  1862. },
  1863. beforeRemove(file, fileList) {
  1864. console.log(file.response, '删除文件之前的钩子,参数为上传的文件和文件列表')
  1865. return this.$confirm('删除当前图片, 是否继续?', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' })
  1866. },
  1867. resetCreateTemp() {
  1868. this.defaultCheckedKeys = []
  1869. this.createTemp.defaultCheckedKeys = []
  1870. this.createTemp.brandId = ''
  1871. this.createTemp.providerId = ''
  1872. this.createTemp.inputDatetime = parseTime(new Date(), '{y}-{m}-{d}')
  1873. this.createTemp.eqClassName = ''
  1874. this.createTemp.eqClassId = ''
  1875. this.createTemp.employeName = Cookies.get('employename')
  1876. this.createTemp.employeId = Cookies.get('employeid')
  1877. this.createTemp.inputUser = Cookies.get('employeid')
  1878. this.createTemp.deptId = parseInt(Cookies.get('departmentid'))
  1879. this.createTemp.departmentName = Cookies.get('departmentname')
  1880. this.createTemp.pastureId = parseInt(Cookies.get('pastureid'))
  1881. this.createTemp.eqCode = ''
  1882. this.createTemp.eqName = ''
  1883. this.createTemp.specification = ''
  1884. this.createTemp.providerName = ''
  1885. this.createTemp.financeCode = ''
  1886. this.createTemp.status = '正常'
  1887. this.createTemp.providerName = ''
  1888. this.createTemp.brandName = ''
  1889. this.createTemp.purpose = ''
  1890. this.createTemp.purchaseDate = parseTime(new Date(), '{y}-{m}-{d}')
  1891. this.createTemp.entranceDate = parseTime(new Date(), '{y}-{m}-{d}')
  1892. this.createTemp.assetCode = ''
  1893. this.createTemp.yearUpkeepCost = ''
  1894. this.createTemp.yearMaintainDost = ''
  1895. this.createTemp.yuanzhi = ''
  1896. this.createTemp.baseHours = ''
  1897. this.createTemp.upkeepgrade = 113
  1898. this.createTemp.salvage = ''
  1899. this.createTemp.subtractvalue = ''
  1900. this.createTemp.yearMaintainCost = ''
  1901. this.createTemp.inputUserName = ''
  1902. this.createTemp.picpath = ''
  1903. this.fileList = []
  1904. this.showUpload = false
  1905. this.createTemp.fileList = []
  1906. this.createTemp.depreciation = '5'
  1907. },
  1908. form_add() {
  1909. this.resetCreateTemp()
  1910. this.edit = 1
  1911. this.getDepartParam.parammaps.pastureId = this.createTemp.pastureId
  1912. this.getCreateDepartDownList()
  1913. this.dialogStatus = 'create'
  1914. this.dialogFormVisible = true
  1915. this.$nextTick(() => {
  1916. this.$refs['createTemp'].clearValidate()
  1917. })
  1918. },
  1919. changeBrand(item) {
  1920. this.createTemp.brandName = this.findAllBrand.find(obj => obj.id === item).name
  1921. },
  1922. changeUpkeepgrade(item) {
  1923. console.log(item)
  1924. },
  1925. upkeepgradeChange(e) {
  1926. if (!e) {
  1927. this.$refs['upkeepgrade'].blur()
  1928. }
  1929. },
  1930. popoverHide(checkedIds, checkedData) {
  1931. console.log(checkedIds, checkedData)
  1932. if (checkedIds !== null) {
  1933. this.getdataEQNumber.parammaps.eqCode = checkedData.typeCode
  1934. // if (checkedData.children === undefined) {
  1935. // this.createTemp.eqClassId = checkedData.eqClassId
  1936. // this.createTemp.eqName = checkedData.NewName
  1937. // this.getdataListParm.parammaps.eqClassId = checkedData.eqClassId
  1938. // this.getEQNumber()
  1939. // } else {
  1940. // this.defaultCheckedKeys = []
  1941. // this.createTemp.eqClassId = ''
  1942. // this.getdataListParm.parammaps.eqClassId = ''
  1943. // this.$message({ type: 'warning', message: '请选择具体设备类型' })
  1944. // }
  1945. this.createTemp.eqClassId = checkedData.eqClassId
  1946. this.createTemp.eqName = checkedData.NewName
  1947. this.getdataListParm.parammaps.eqClassId = checkedData.eqClassId
  1948. this.getEQNumber()
  1949. } else {
  1950. this.defaultCheckedKeys = []
  1951. this.createTemp.eqClassId = ''
  1952. this.getdataListParm.parammaps.eqClassId = ''
  1953. }
  1954. },
  1955. add_dialog_save() {
  1956. this.isokDisable = true
  1957. setTimeout(() => {
  1958. this.isokDisable = false
  1959. }, 1000)
  1960. this.$refs['createTemp'].validate(valid => {
  1961. if (valid) {
  1962. console.log(this.createTemp)
  1963. this.requestParam.name = 'insertAsset'
  1964. if (this.createTemp.status == '正常') { this.createTemp.status = 17 }
  1965. if (this.createTemp.providerId == '') { this.createTemp.providerId = 0 }
  1966. if (this.createTemp.brandId == '') { this.createTemp.brandId = 0 }
  1967. if (this.createTemp.yuanzhi == '') { this.createTemp.yuanzhi = 0 }
  1968. if (this.createTemp.salvage == '') { this.createTemp.salvage = 0 }
  1969. if (this.createTemp.subtractvalue == '') { this.createTemp.subtractvalue = 0 }
  1970. if (this.createTemp.yearUpkeepCost == '') { this.createTemp.yearUpkeepCost = 0 }
  1971. if (this.createTemp.yearMaintainCost == '') { this.createTemp.yearMaintainCost = 0 }
  1972. if (this.createTemp.baseHours == '') { this.createTemp.baseHours = 0 }
  1973. // 原值yuanzhi残值salvage月核减值subtractvalue保养费用yearUpkeepCost维修费用yearMaintainCost
  1974. var rulesValue = /^\d+(\.\d{1,3})?$/
  1975. this.requestParam.parammaps = this.createTemp
  1976. this.requestParam.parammaps.picpath = this.createTemp.picpath
  1977. if (this.createTemp.yuanzhi !== '' || this.createTemp.salvage !== '' || this.createTemp.subtractvalue !== '' || this.createTemp.yearUpkeepCost !== '' || this.createTemp.yearMaintainCost !== '') {
  1978. this.requestParam.parammaps.yuanzhi = parseFloat(this.createTemp.yuanzhi)
  1979. if (!rulesValue.test(parseFloat(this.createTemp.yuanzhi))) {
  1980. this.$message({ type: 'error', message: '原值请输入自然数,最多保留三位小数点', duration: 2000 })
  1981. return false
  1982. }
  1983. if (!rulesValue.test(parseFloat(this.createTemp.salvage))) {
  1984. this.$message({ type: 'error', message: '残值请输入自然数,最多保留三位小数点', duration: 2000 })
  1985. return false
  1986. }
  1987. if (!rulesValue.test(parseFloat(this.createTemp.subtractvalue))) {
  1988. this.$message({ type: 'error', message: '月核减值请输入自然数,最多保留三位小数点', duration: 2000 })
  1989. return false
  1990. }
  1991. if (!rulesValue.test(parseFloat(this.createTemp.yearUpkeepCost))) {
  1992. this.$message({ type: 'error', message: '保养费用输入自然数,最多保留三位小数点', duration: 2000 })
  1993. return false
  1994. }
  1995. if (!rulesValue.test(parseFloat(this.createTemp.yearMaintainCost))) {
  1996. this.$message({ type: 'error', message: '维修费用请输入自然数,最多保留三位小数点', duration: 2000 })
  1997. return false
  1998. }
  1999. }
  2000. if(this.requestParam.parammaps.maintenance.length != 0 && this.requestParam.parammaps.maintenance){
  2001.   if(this.requestParam.parammaps.maintenance.length > 4){
  2002.               this.$notify({ title: '提示', message: '指定维修人最多4个人!', type: 'success', duration: 2000 })
  2003.               return false
  2004.             }
  2005. this.requestParam.parammaps.maintenance = this.requestParam.parammaps.maintenance.toString()
  2006. }
  2007. PostDataByName(this.requestParam).then(response => {
  2008. console.log('新增保存发送参数', this.requestParam)
  2009. if (response.msg !== 'fail') {
  2010. if (this.getdataListParm.parammaps.inputDatetime1 === null) {
  2011. this.getdataListParm.parammaps.inputDatetime1 = ''
  2012. }
  2013. this.dialogFormVisible = false
  2014. this.get_table_data()
  2015. this.$notify({ title: '成功', message: '新增成功', type: 'success', duration: 2000 })
  2016. // this.reload()
  2017. } else {
  2018. failproccess(response, this.$notify)
  2019. }
  2020. })
  2021. }
  2022. })
  2023. },
  2024. // 继续新增
  2025. add_dialog_save_again() {
  2026. this.isokDisable = true
  2027. setTimeout(() => {
  2028. this.isokDisable = false
  2029. }, 1000)
  2030. this.$refs['createTemp'].validate(valid => {
  2031. if (valid) {
  2032. this.requestParam.name = 'insertAsset'
  2033. if (this.createTemp.status == '正常') { this.createTemp.status = 17 }
  2034. if (this.createTemp.providerId == '') { this.createTemp.providerId = 0 }
  2035. if (this.createTemp.brandId == '') { this.createTemp.brandId = 0 }
  2036. if (this.createTemp.yuanzhi == '') { this.createTemp.yuanzhi = 0 }
  2037. if (this.createTemp.salvage == '') { this.createTemp.salvage = 0 }
  2038. if (this.createTemp.subtractvalue == '') { this.createTemp.subtractvalue = 0 }
  2039. if (this.createTemp.yearUpkeepCost == '') { this.createTemp.yearUpkeepCost = 0 }
  2040. if (this.createTemp.yearMaintainCost == '') { this.createTemp.yearMaintainCost = 0 }
  2041. if (this.createTemp.baseHours == '') { this.createTemp.baseHours = 0 }
  2042. // 原值yuanzhi残值salvage月核减值subtractvalue保养费用yearUpkeepCost维修费用yearMaintainCost
  2043. var rulesValue = /^\d+(\.\d{1,3})?$/
  2044. this.requestParam.parammaps = this.createTemp
  2045. this.requestParam.parammaps.picpath = this.createTemp.picpath
  2046. if (this.createTemp.yuanzhi !== '' || this.createTemp.salvage !== '' || this.createTemp.subtractvalue !== '' || this.createTemp.yearUpkeepCost !== '' || this.createTemp.yearMaintainCost !== '') {
  2047. this.requestParam.parammaps.yuanzhi = parseFloat(this.createTemp.yuanzhi)
  2048. // if (!rulesValue.test(parseFloat(this.createTemp.yuanzhi)) || !rulesValue.test(parseFloat(this.createTemp.salvage)) || !rulesValue.test(parseFloat(this.createTemp.subtractvalue)) || !rulesValue.test(parseFloat(this.createTemp.yearUpkeepCost)) || !rulesValue.test(parseFloat(this.createTemp.yearMaintainCost))) {
  2049. if (!rulesValue.test(parseFloat(this.createTemp.yuanzhi))) {
  2050. this.$message({ type: 'error', message: '原值请输入自然数,最多保留三位小数点', duration: 2000 })
  2051. return false
  2052. }
  2053. if (!rulesValue.test(parseFloat(this.createTemp.salvage))) {
  2054. this.$message({ type: 'error', message: '残值请输入自然数,最多保留三位小数点', duration: 2000 })
  2055. return false
  2056. }
  2057. if (!rulesValue.test(parseFloat(this.createTemp.subtractvalue))) {
  2058. this.$message({ type: 'error', message: '月核减值请输入自然数,最多保留三位小数点', duration: 2000 })
  2059. return false
  2060. }
  2061. if (!rulesValue.test(parseFloat(this.createTemp.yearUpkeepCost))) {
  2062. this.$message({ type: 'error', message: '保养费用输入自然数,最多保留三位小数点', duration: 2000 })
  2063. return false
  2064. }
  2065. if (!rulesValue.test(parseFloat(this.createTemp.yearMaintainCost))) {
  2066. this.$message({ type: 'error', message: '维修费用请输入自然数,最多保留三位小数点', duration: 2000 })
  2067. return false
  2068. }
  2069. }
  2070. if(this.requestParam.parammaps.maintenance.length != 0 && this.requestParam.parammaps.maintenance){
  2071.   if(this.requestParam.parammaps.maintenance.length > 4){
  2072.               this.$notify({ title: '提示', message: '指定维修人最多4个人!', type: 'success', duration: 2000 })
  2073.               return false
  2074.             }
  2075. this.requestParam.parammaps.maintenance = this.requestParam.parammaps.maintenance.toString()
  2076. }
  2077. PostDataByName(this.requestParam).then(response => {
  2078. console.log('新增保存发送参数', this.requestParam)
  2079. if (response.msg !== 'fail') {
  2080. if (this.getdataListParm.parammaps.inputDatetime === null) {
  2081. this.getdataListParm.parammaps.inputDatetime = ''
  2082. }
  2083. this.resetCreateTemp()
  2084. this.$notify({ title: '成功', message: '新增成功', type: 'success', duration: 2000 })
  2085. } else {
  2086. failproccess(response, this.$notify)
  2087. }
  2088. })
  2089. }
  2090. })
  2091. },
  2092. form_edit(row) {
  2093. if (this.dialogFormVisible) {
  2094. return
  2095. }
  2096. this.edit = 0
  2097. this.getDepartParam.parammaps.pastureId = row.pastureId
  2098. this.getCreateDepartDownList()
  2099. this.createTemp = Object.assign({}, row) // copy obj
  2100. if (row.inputUser !== undefined) {
  2101. this.createTemp.inputUser = parseInt(row.inputUser)
  2102. }
  2103. if (row.levelone !== undefined) {
  2104. this.createTemp.levelone = parseInt(row.levelone)
  2105. }
  2106. if (row.leveltwo !== undefined) {
  2107. this.createTemp.leveltwo = parseInt(row.leveltwo)
  2108. }
  2109. if (row.levelthree !== undefined) {
  2110. this.createTemp.levelthree = parseInt(row.levelthree)
  2111. }
  2112. if (row.leveloneTime !== undefined) {
  2113. this.createTemp.leveloneTime = parseInt(row.leveloneTime)
  2114. }
  2115. if (row.leveltwoTime !== undefined) {
  2116. this.createTemp.leveltwoTime = parseInt(row.leveltwoTime)
  2117. }
  2118. if (row.levelthreeTime !== undefined) {
  2119. this.createTemp.levelthreeTime = parseInt(row.levelthreeTime)
  2120. }
  2121. if (row.maintenance !== undefined) {
  2122. var newArr = row.maintenance.split(",")
  2123. var arr2 = []
  2124. newArr.forEach(function(item){
  2125. arr2.push(parseInt(item))
  2126. })
  2127. console.log('arr2',arr2)
  2128. this.createTemp.maintenance = arr2
  2129. }
  2130. if (this.createTemp.eqClassId !== undefined) {
  2131. this.defaultCheckedKeys = [this.createTemp.eqClassId]
  2132. } else {
  2133. this.createTemp.eqClassId = ''
  2134. this.defaultCheckedKeys = []
  2135. }
  2136. this.dialogStatus = 'update'
  2137. this.dialogFormVisible = true
  2138. this.$nextTick(() => {
  2139. this.$refs['createTemp'].clearValidate()
  2140. })
  2141. const urlArray = []
  2142. const fileList = []
  2143. if (row.picpath == undefined) {
  2144. urlArray.push()
  2145. } else if (row.picpath == '') {
  2146. urlArray.push()
  2147. } else {
  2148. urlArray.push(row.picpath)
  2149. }
  2150. for (let i = 0; i < urlArray.length; i++) {
  2151. const urlObj = {}
  2152. this.$set(urlObj, 'url', urlArray[i])
  2153. fileList.push(urlObj)
  2154. }
  2155. this.$set(this.createTemp, 'fileList', fileList)
  2156. console.log(this.createTemp)
  2157. if (this.createTemp.fileList.length >= 1) {
  2158. this.showUpload = true
  2159. } else {
  2160. this.showUpload = false
  2161. }
  2162. },
  2163. edit_dialog_save() {
  2164. console.log(this.createTemp.maintenance)
  2165. this.$refs['createTemp'].validate(valid => {
  2166. if (valid) {
  2167. console.log('-----------', this.createTemp)
  2168. console.log(this.createTemp.providerId)
  2169. if (this.createTemp.eqClassId == '' || this.createTemp.eqClassId == undefined || this.createTemp.eqClassId == null) {
  2170. this.$message({ type: 'warning', message: '请选择设备类别' })
  2171. } else {
  2172. this.requestParam.name = 'updateAsset'
  2173. this.requestParam.parammaps = this.createTemp
  2174. if (this.createTemp.status === '正常') { this.createTemp.status = 17 }
  2175. if (this.createTemp.status === '闲置') { this.createTemp.status = 18 }
  2176. if (this.createTemp.status === '报废') { this.createTemp.status = 19 }
  2177. if (this.createTemp.status === '封存') { this.createTemp.status = 20 }
  2178. if (this.createTemp.providerId === '' || this.createTemp.providerId === undefined) { this.createTemp.providerId = 0 }
  2179. if (this.createTemp.brandId === '' || this.createTemp.brandId == undefined) { this.createTemp.brandId = 0 }
  2180. if (this.createTemp.yuanzhi === '') { this.createTemp.yuanzhi = 0 }
  2181. if (this.createTemp.salvage === '') { this.createTemp.salvage = 0 }
  2182. if (this.createTemp.subtractvalue === '') { this.createTemp.subtractvalue = 0 }
  2183. if (this.createTemp.yearUpkeepCost === '') { this.createTemp.yearUpkeepCost = 0 }
  2184. if (this.createTemp.yearMaintainCost === '') { this.createTemp.yearMaintainCost = 0 }
  2185. if (this.createTemp.baseHours === '') { this.createTemp.baseHours = 0 }
  2186. if (this.createTemp.upkeepgrade === 'A' || this.createTemp.upkeepgrade === 'B' || this.createTemp.upkeepgrade === 'C') {
  2187. this.createTemp.upkeepgrade = this.createTemp.upkeepgradeId
  2188. this.createTemp.upkeepgradeId = ''
  2189. }
  2190. this.createTemp.deptId = this.createTemp.deptId
  2191. this.createTemp.departmentName = this.createTemp.departmentName
  2192. this.createTemp.employeeId = this.createTemp.employeId
  2193. // var rulesValue = /^\d+(\.\d{1,3})?$/
  2194. this.requestParam.parammaps = this.createTemp
  2195. if (this.tabName === 'first') {
  2196. this.requestParam.parammaps.SHStatus = this.createTemp.SHStatus
  2197. } else if (this.tabName === 'second') {
  2198. this.requestParam.parammaps.SHStatus = 0
  2199. }
  2200. const picpath = parseInt(this.createTemp.picpath)
  2201. if (isNaN(picpath) == false) {
  2202. this.requestParam.parammaps.picpath = this.createTemp.picpath
  2203. } else {
  2204. this.requestParam.parammaps.picpath = this.createTemp.picId
  2205. }
  2206. if(this.requestParam.parammaps.maintenance.length != 0 && this.requestParam.parammaps.maintenance){
  2207. if(this.requestParam.parammaps.maintenance.length > 4){
  2208. this.$notify({ title: '提示', message: '指定维修人最多4个人!', type: 'success', duration: 2000 })
  2209. return false
  2210. }
  2211. this.requestParam.parammaps.maintenance = this.requestParam.parammaps.maintenance.toString()
  2212. }
  2213. PostDataByName(this.requestParam).then(response => {
  2214. console.log(response)
  2215. if (response.msg !== 'fail') {
  2216. if (this.getdataListParm.parammaps.inputDatetime1 === null) {
  2217. this.getdataListParm.parammaps.inputDatetime1 = ''
  2218. }
  2219. this.get_table_data()
  2220. this.get_table_dataSH()
  2221. this.dialogFormVisible = false
  2222. this.$notify({ title: '成功', message: '保存成功-', type: 'success', duration: 2000 })
  2223. // this.reload()
  2224. } else {
  2225. failproccess(response, this.$notify)
  2226. }
  2227. })
  2228. }
  2229. }
  2230. })
  2231. },
  2232. brandSearch(queryString, cb) {
  2233. console.log('品牌模糊查询输入值', queryString)
  2234. this.requestBrand.parammaps['brandName'] = queryString
  2235. GetDataByName(this.requestBrand).then(response => {
  2236. console.log('品牌模糊查询搜索data', response.data.list)
  2237. this.BrandList = response.data.list
  2238. cb(this.BrandList)
  2239. })
  2240. },
  2241. handleSelectBrand(item) {
  2242. console.log('品牌模糊查询选中值', item)
  2243. this.$set(this.createTemp, 'brandName', item.brandName)
  2244. this.$set(this.createTemp, 'brandId', item.brandId)
  2245. this.$forceUpdate()
  2246. },
  2247. employeSearch(queryString, cb) {
  2248. console.log('责任人模糊查询输入值', queryString)
  2249. this.requestEmploye.parammaps['empname'] = queryString
  2250. GetDataByName(this.requestEmploye).then(response => {
  2251. console.log('责任人模糊查询搜索data', response.data.list)
  2252. this.employeList = response.data.list
  2253. cb(this.employeList)
  2254. })
  2255. },
  2256. handleSelectEmploye(item) {
  2257. console.log('责任人模糊查询选中值', item)
  2258. this.$set(this.createTemp, 'employeId', item.id)
  2259. this.$set(this.createTemp, 'employeName', item.name)
  2260. this.$forceUpdate()
  2261. },
  2262. form_see(row) {
  2263. console.log(row)
  2264. this.seeTemp = Object.assign({}, row) // copy obj
  2265. this.activeName = 'first'
  2266. this.dialogStatus = 'card'
  2267. this.dialogFormVisible_See = true
  2268. // 流程图
  2269. var reason = '未通过原因:' + this.seeTemp.workflowNote
  2270. if (this.seeTemp.SHStatus === 0) {
  2271. this.activeList = [{ title: '提交信息', date: this.seeTemp.inputDatetime, name: this.seeTemp.inputUserName }, { title: '设备中心审核' }]
  2272. this.active = 1
  2273. } else if (this.seeTemp.SHStatus === 1) {
  2274. this.activeList = [{ title: '提交信息', date: this.seeTemp.inputDatetime, name: this.seeTemp.inputUserName }, { title: '设备中心审核', date: this.seeTemp.chargeDate, name: this.seeTemp.chargePerson }]
  2275. this.active = 2
  2276. } else if (this.seeTemp.SHStatus === 2) {
  2277. this.activeList = [{ title: '提交信息', date: this.seeTemp.inputDatetime, name: this.seeTemp.inputUserName }, { title: '设备中心审核', date: this.seeTemp.chargeDate, name: this.seeTemp.chargePerson, status: 'error', reason: reason }]
  2278. this.active = 2
  2279. }
  2280. // 查看-点检记录
  2281. },
  2282. form_seeTabClick(val) {
  2283. console.log(val)
  2284. if (val.name == 'second') {
  2285. this.getAssetBigSpotCheckList()
  2286. } else if (val.name == 'third') {
  2287. this.getBigupkeepbyeqList()
  2288. } else if (val.name == 'fouth') {
  2289. this.getAssetMaintainList()
  2290. } else if (val.name == 'fifth') {
  2291. this.getAssetSTTList()
  2292. } else if (val.name == 'sixth') {
  2293. this.getAssetChangeList()
  2294. } else if (val.name == 'seventh') {
  2295. this.getAssetPartApplyList()
  2296. } else if (val.name == 'eighth') {
  2297. this.getBarChart1Parm.parammaps.eqId = this.seeTemp.id
  2298. this.getBarChart2Parm.parammaps.eqId = this.seeTemp.id
  2299. this.getChartSeeParm.parammaps.eqId = this.seeTemp.id
  2300. this.getBarChart1()
  2301. this.getBarChart2()
  2302. }
  2303. },
  2304. // 点检记录
  2305. getAssetBigSpotCheckList() {
  2306. this.listLoadingSpotCheck1 = true
  2307. if (this.$refs['inputDatetimeCheck1'] !== undefined && this.$refs['inputDatetimeCheck1'].value !== null) {
  2308. this.getAssetBigSpotCheckListParm.parammaps.startTime = this.$refs['inputDatetimeCheck1'].value[0]
  2309. this.getAssetBigSpotCheckListParm.parammaps.stopTime = this.$refs['inputDatetimeCheck1'].value[1]
  2310. } else {
  2311. this.getAssetBigSpotCheckListParm.parammaps.startTime = ''
  2312. this.getAssetBigSpotCheckListParm.parammaps.stopTime = ''
  2313. }
  2314. this.getAssetBigSpotCheckListParm.parammaps.assetId = this.seeTemp.assetId
  2315. this.getAssetBigSpotCheckListParm.parammaps.pastureId = this.seeTemp.pastureId
  2316. GetDataByName(this.getAssetBigSpotCheckListParm).then(response => {
  2317. console.log('点检记录-table数据', response.data.list)
  2318. if (response.data.list !== null) {
  2319. this.listSpotCheck1 = response.data.list
  2320. this.pageNumSpotCheck1 = response.data.pageNum
  2321. this.pageSizeSpotCheck1 = response.data.pageSize
  2322. } else {
  2323. this.listSpotCheck1 = []
  2324. }
  2325. this.totalSpotCheck1 = response.data.total
  2326. setTimeout(() => {
  2327. this.listLoadingSpotCheck1 = false
  2328. }, 100)
  2329. })
  2330. },
  2331. form_searchSportCheck() {
  2332. if (this.getAssetBigSpotCheckListParm.parammaps.inputDatetimeCheck1 == null) {
  2333. this.getAssetBigSpotCheckListParm.parammaps.inputDatetimeCheck1 = ''
  2334. }
  2335. this.getAssetBigSpotCheckListParm.offset = 1
  2336. this.getAssetBigSpotCheckList()
  2337. },
  2338. // 保养记录
  2339. getBigupkeepbyeqList() {
  2340. this.listLoadingSpotCheck1 = true
  2341. if (this.$refs['inputDatetimeUpkeepbyeq'] !== undefined && this.$refs['inputDatetimeUpkeepbyeq'].value !== null) {
  2342. this.getBigupkeepbyeqParm.parammaps.startTime = this.$refs['inputDatetimeUpkeepbyeq'].value[0]
  2343. this.getBigupkeepbyeqParm.parammaps.stopTime = this.$refs['inputDatetimeUpkeepbyeq'].value[1]
  2344. } else {
  2345. this.getBigupkeepbyeqParm.parammaps.startTime = ''
  2346. this.getBigupkeepbyeqParm.parammaps.stopTime = ''
  2347. }
  2348. this.getBigupkeepbyeqParm.parammaps.assetId = this.seeTemp.assetId
  2349. this.getBigupkeepbyeqParm.parammaps.pastureId = this.seeTemp.pastureId
  2350. GetDataByName(this.getBigupkeepbyeqParm).then(response => {
  2351. console.log('保养记录-table数据', response.data.list)
  2352. if (response.data.list !== null) {
  2353. this.listUpkeepbyeq = response.data.list
  2354. this.pageNumUpkeepbyeq = response.data.pageNum
  2355. this.pageSizeUpkeepbyeq = response.data.pageSize
  2356. } else {
  2357. this.listUpkeepbyeq = []
  2358. }
  2359. this.totalUpkeepbyeq = response.data.total
  2360. setTimeout(() => {
  2361. this.listLoadingSpotCheck1 = false
  2362. }, 100)
  2363. })
  2364. },
  2365. form_searchUpkeepbyeq() {
  2366. if (this.getBigupkeepbyeqParm.parammaps.inputDatetimeUpkeepbyeq === null) {
  2367. this.getBigupkeepbyeqParm.parammaps.inputDatetimeUpkeepbyeq = ''
  2368. }
  2369. this.getBigupkeepbyeqParm.offset = 1
  2370. this.getBigupkeepbyeqList()
  2371. },
  2372. // 维修记录
  2373. getAssetMaintainList() {
  2374. this.listLoadingAssetMaintain = true
  2375. if (this.$refs['inputDatetimeAssetMaintain'] !== undefined && this.$refs['inputDatetimeAssetMaintain'].value !== null) {
  2376. this.getAssetMaintainParm.parammaps.startTime = this.$refs['inputDatetimeAssetMaintain'].value[0]
  2377. this.getAssetMaintainParm.parammaps.stopTime = this.$refs['inputDatetimeAssetMaintain'].value[1]
  2378. } else {
  2379. this.getAssetMaintainParm.parammaps.startTime = ''
  2380. this.getAssetMaintainParm.parammaps.stopTime = ''
  2381. }
  2382. this.getAssetMaintainParm.parammaps.assetId = this.seeTemp.assetId
  2383. this.getAssetMaintainParm.parammaps.pastureId = this.seeTemp.pastureId
  2384. GetDataByName(this.getAssetMaintainParm).then(response => {
  2385. console.log('维修记录-tabile数据', response.data.list)
  2386. if (response.data.list !== null) {
  2387. this.listAssetMaintain = response.data.list
  2388. this.pageNumAssetMaintain = response.data.pageNum
  2389. this.pageSizeAssetMaintain = response.data.pageSize
  2390. } else {
  2391. this.listAssetMaintain = []
  2392. }
  2393. this.totalAssetMaintain = response.data.total
  2394. setTimeout(() => {
  2395. this.listLoadingAssetMaintain = false
  2396. }, 100)
  2397. })
  2398. },
  2399. form_searchAssetMaintain() {
  2400. if (this.getBigupkeepbyeqParm.parammaps.inputDatetimeAssetMaintan === null) {
  2401. this.getBigupkeepbyeqParm.parammaps.inputDatetimeAssetMaintan = ''
  2402. }
  2403. this.getBigupkeepbyeqParm.offset = 1
  2404. this.getAssetMaintainList()
  2405. },
  2406. // 启停记录
  2407. getAssetSTTList() {
  2408. this.listLoadingAssetSTT = true
  2409. this.getAssetSTTParm.parammaps.assetId = this.seeTemp.assetId
  2410. this.getAssetSTTParm.parammaps.pastureId = this.seeTemp.pastureId
  2411. GetDataByName(this.getAssetSTTParm).then(response => {
  2412. console.log('启停记录-tabile数据', response.data.list)
  2413. if (response.data.list !== null) {
  2414. this.listAssetSTT = response.data.list
  2415. this.pageNumAssetSTT = response.data.pageNum
  2416. this.pageSizeAssetSTT = response.data.pageSize
  2417. } else {
  2418. this.listAssetSTT = []
  2419. }
  2420. this.totalAssetSTT = response.data.total
  2421. setTimeout(() => {
  2422. this.listLoadingAssetSTT = false
  2423. }, 100)
  2424. })
  2425. },
  2426. form_searchAssetSTT() {
  2427. if (this.getAssetSTTParm.parammaps.startTime == null) {
  2428. this.getAssetSTTParm.parammaps.startTime = ''
  2429. }
  2430. if (this.getAssetSTTParm.parammaps.stopTime == null) {
  2431. this.getAssetSTTParm.parammaps.stopTime = ''
  2432. }
  2433. this.getAssetSTTParm.offset = 1
  2434. this.getAssetSTTList()
  2435. },
  2436. // 变更记录
  2437. getAssetChangeList() {
  2438. this.listLoadingAssetChange = true
  2439. console.log(this.$refs['inputDatetimeAssetChange'])
  2440. if (this.$refs['inputDatetimeAssetChange'] !== undefined && this.$refs['inputDatetimeAssetChange'].value !== null) {
  2441. this.getAssetChangeParm.parammaps.startTime = this.$refs['inputDatetimeAssetChange'].value[0]
  2442. this.getAssetChangeParm.parammaps.stopTime = this.$refs['inputDatetimeAssetChange'].value[1]
  2443. } else {
  2444. this.getAssetChangeParm.parammaps.startTime = ''
  2445. this.getAssetChangeParm.parammaps.stopTime = ''
  2446. }
  2447. this.getAssetChangeParm.parammaps.assetId = this.seeTemp.assetId
  2448. this.getAssetChangeParm.parammaps.pastureId = this.seeTemp.pastureId
  2449. GetDataByName(this.getAssetChangeParm).then(response => {
  2450. console.log('变更记录-tabile数据', response.data.list)
  2451. if (response.data.list !== null) {
  2452. this.listAssetChange = response.data.list
  2453. this.pageNumAssetChange = response.data.pageNum
  2454. this.pageSizeAssetChange = response.data.pageSize
  2455. } else {
  2456. this.listAssetChange = []
  2457. }
  2458. this.totalAssetChange = response.data.total
  2459. setTimeout(() => {
  2460. this.listLoadingAssetChange = false
  2461. }, 100)
  2462. })
  2463. },
  2464. form_searchAssetChange() {
  2465. if (this.getAssetChangeParm.parammaps.inputDatetimeAssetChange === null) {
  2466. this.getAssetChangeParm.parammaps.inputDatetimeAssetChange = ''
  2467. }
  2468. this.getAssetChangeParm.offset = 1
  2469. this.getAssetChangeList()
  2470. },
  2471. changeStatue: function(cellValue) {
  2472. if (cellValue.changeStatue == 17) {
  2473. return '正常'
  2474. } else if (cellValue.changeStatue == 18) {
  2475. return '闲置'
  2476. } else if (cellValue.changeStatue == 19) {
  2477. return '报废'
  2478. } else if (cellValue.changeStatue == 20) {
  2479. return '封存'
  2480. }
  2481. },
  2482. // 备件领用记录
  2483. getAssetPartApplyList() {
  2484. this.listLoadingAssetChange = true
  2485. console.log(this.$refs['inputDatetimeAssetPartApply'].value)
  2486. if (this.$refs['inputDatetimeAssetPartApply'] !== undefined && this.$refs['inputDatetimeAssetPartApply'].value !== null && this.$refs['inputDatetimeAssetPartApply'].value !== '') {
  2487. this.getAssetPartApplyParm.parammaps.startTime = this.$refs['inputDatetimeAssetPartApply'].value[0]
  2488. this.getAssetPartApplyParm.parammaps.stopTime = this.$refs['inputDatetimeAssetPartApply'].value[1]
  2489. } else {
  2490. this.getAssetPartApplyParm.parammaps.startTime = ''
  2491. this.getAssetPartApplyParm.parammaps.stopTime = ''
  2492. }
  2493. this.getAssetPartApplyParm.parammaps.assetId = this.seeTemp.assetId
  2494. this.getAssetPartApplyParm.parammaps.pastureId = this.seeTemp.pastureId
  2495. GetDataByName(this.getAssetPartApplyParm).then(response => {
  2496. console.log('备件领用记录-tabile数据', response.data.list)
  2497. if (response.data.list !== null) {
  2498. this.listAssetPartApply = response.data.list
  2499. this.pageNumAssetPartApply = response.data.pageNum
  2500. this.pageSizeAssetPartApply = response.data.pageSize
  2501. } else {
  2502. this.listAssetPartApply = []
  2503. }
  2504. this.totalAssetPartApply = response.data.total
  2505. setTimeout(() => {
  2506. this.listLoadingAssetPartApply = false
  2507. }, 100)
  2508. })
  2509. },
  2510. form_searchAssetPartApply() {
  2511. this.listLoadingAssetChange = true
  2512. if (this.getAssetPartApplyParm.parammaps.inputDatetimeAssetChange == null) {
  2513. this.getAssetPartApplyParm.parammaps.inputDatetimeAssetChange = ''
  2514. }
  2515. this.getAssetPartApplyParm.offset = 1
  2516. this.getAssetPartApplyList()
  2517. },
  2518. getBarChart1() {
  2519. GetReportform(this.getBarChart1Parm).then(response => {
  2520. console.log('图1', response)
  2521. this.chart_data1 = response.data.chart_data
  2522. var repireCost = response.data.chart_data.repireCost
  2523. var upkeepCost = response.data.chart_data.upkeepCost
  2524. var totaltitle1 = 0
  2525. if (repireCost !== null || repireCost !== undefined) {
  2526. repireCost.forEach(function(item, index) {
  2527. console.log(parseFloat(item))
  2528. totaltitle1 = totaltitle1 + parseFloat(item)
  2529. })
  2530. }
  2531. var totaltitle2 = 0
  2532. if (upkeepCost !== null || upkeepCost !== undefined) {
  2533. upkeepCost.forEach(function(item, index) {
  2534. console.log(parseFloat(item))
  2535. totaltitle2 = totaltitle2 + parseFloat(item)
  2536. })
  2537. }
  2538. this.totaltitle = totaltitle1 + totaltitle2
  2539. this.roadBarChart1(this.chart_data1, this.totaltitle.toFixed(2))
  2540. })
  2541. },
  2542. roadBarChart1(chart_data1, totaltitle) {
  2543. console.log(chart_data1, totaltitle)
  2544. if (this.barChart1 != null) {
  2545. this.barChart1.dispose()
  2546. }
  2547. this.barChart1 = echarts.init(document.getElementById('barChart1'))
  2548. var option = {
  2549. title: { text: '年度费用统计(总费用:' + totaltitle + '元)', textStyle: { color: '#769cfc' }},
  2550. tooltip: {
  2551. trigger: 'axis',
  2552. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  2553. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  2554. },
  2555. formatter: function(data) {
  2556. console.log(data.length)
  2557. var value = 0
  2558. let val = ''
  2559. if (data.length == 1) {
  2560. val += data[0].seriesName + ':' + data[0].data + '元<br/>'
  2561. } else {
  2562. value = (parseFloat(data[0].value) + parseFloat(data[1].value)).toFixed(2)
  2563. // eslint-disable-next-line no-unused-vars
  2564. val = data[0].name + '年设备总费用:' + value + '元' + '<br/>'
  2565. val += '维修费用:' + data[0].data + '元<br/>'
  2566. val += '保养费用:' + data[1].data + '元<br/>'
  2567. }
  2568. return val
  2569. }
  2570. },
  2571. legend: {
  2572. data: ['维修费用', '保养费用'],
  2573. x: 'right'
  2574. },
  2575. color: ['#769cfc', '#42b983'],
  2576. grid: { left: '3%', right: '4%', bottom: '3%', containLabel: true },
  2577. xAxis: [
  2578. { type: 'category', data: this.chart_data1.year }
  2579. ],
  2580. yAxis: [
  2581. { type: 'value', name: '费用(元)' }
  2582. ],
  2583. series: [
  2584. { name: '维修费用', type: 'bar', barWidth: 60, stack: '广告', data: this.chart_data1.repireCost },
  2585. { name: '保养费用', type: 'bar', barWidth: 60, stack: '广告', data: this.chart_data1.upkeepCost }
  2586. ]
  2587. }
  2588. this.barChart1.setOption(option)
  2589. var that = this
  2590. window.onresize = function() {
  2591. that.barChart1.resize()
  2592. }
  2593. this.barChart1.on('click', function(param, i) {
  2594. console.log(param)
  2595. that.getBarChart2Parm.parammaps.receiveTime = param.name
  2596. that.getBarChart2()
  2597. that.getBarChart1()
  2598. })
  2599. },
  2600. getBarChart2() {
  2601. GetReportform(this.getBarChart2Parm).then(response => {
  2602. console.log('图2', response)
  2603. this.chart_data2 = response.data.chart_data
  2604. this.roadBarChart2(this.chart_data2)
  2605. })
  2606. },
  2607. roadBarChart2(chart_data1) {
  2608. if (this.barChart2 != null) {
  2609. this.barChart2.dispose()
  2610. }
  2611. this.barChart2 = echarts.init(document.getElementById('barChart2'))
  2612. var option = {
  2613. title: { text: this.getBarChart2Parm.parammaps.receiveTime + '年月度费用统计', textStyle: { color: '#769cfc' }},
  2614. tooltip: {
  2615. trigger: 'axis',
  2616. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  2617. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  2618. },
  2619. formatter: function(data) {
  2620. console.log(data)
  2621. var value = 0
  2622. var val = ''
  2623. if (data.length == 1) {
  2624. val += data[0].seriesName + ':' + data[0].data + '元<br/>'
  2625. } else {
  2626. value = (parseFloat(data[0].value) + parseFloat(data[1].value)).toFixed(2)
  2627. val = data[0].name + '月设备总费用:' + value + '元' + '<br/>'
  2628. val += '维修费用:' + data[0].data + '元<br/>'
  2629. val += '保养费用:' + data[1].data + '元<br/>'
  2630. }
  2631. return val
  2632. }
  2633. },
  2634. legend: {
  2635. data: ['维修费用', '保养费用'],
  2636. x: 'right'
  2637. },
  2638. color: ['#769cfc', '#42b983'],
  2639. grid: {
  2640. left: '3%',
  2641. right: '4%',
  2642. bottom: '3%',
  2643. containLabel: true
  2644. },
  2645. xAxis: [
  2646. { type: 'category', data: this.chart_data2.months }
  2647. ],
  2648. yAxis: [
  2649. { type: 'value', name: '费用(元)' }
  2650. ],
  2651. series: [
  2652. { name: '维修费用', type: 'bar', stack: '广告', data: this.chart_data2.repireCost },
  2653. { name: '保养费用', type: 'bar', stack: '广告', data: this.chart_data2.upkeepCost }
  2654. ]
  2655. }
  2656. this.barChart2.setOption(option)
  2657. var that = this
  2658. window.onresize = function() {
  2659. that.barChart2.resize()
  2660. }
  2661. this.barChart2.on('click', function(param, i) {
  2662. console.log(param)
  2663. that.dialogFormVisible_ChartSee = true
  2664. that.dialogStatus = 'card'
  2665. that.getChartSeeParm.parammaps.receiveTime = param.name
  2666. that.getChartSeeList()
  2667. that.getBarChart1()
  2668. that.getBarChart2()
  2669. })
  2670. },
  2671. getChartSeeList() {
  2672. this.listLoadingChartSee = true
  2673. if (this.$refs['inputDatetime2'] !== undefined && this.$refs['inputDatetime2'].value !== null) {
  2674. this.getChartSeeParm.parammaps.startTime = this.$refs['inputDatetime2'].value[0]
  2675. this.getChartSeeParm.parammaps.stopTime = this.$refs['inputDatetime2'].value[1]
  2676. } else {
  2677. this.getChartSeeParm.parammaps.startTime = ''
  2678. this.getChartSeeParm.parammaps.stopTime = ''
  2679. }
  2680. GetDataByName(this.getChartSeeParm).then(response => {
  2681. console.log('table数据', response.data.list)
  2682. if (response.data.list !== null) {
  2683. this.listChartSee = response.data.list
  2684. this.pageNumChartSee = response.data.pageNum
  2685. this.pageSizeChartSee = response.data.pageSize
  2686. if (response.data.total) {
  2687. this.totalChartSee = response.data.total
  2688. }
  2689. } else {
  2690. this.listChartSee = []
  2691. }
  2692. setTimeout(() => {
  2693. this.listLoadingChartSee = false
  2694. }, 100)
  2695. })
  2696. },
  2697. form_searchChartSee() {
  2698. this.listLoadingChartSee = true
  2699. if (this.getChartSeeParm.parammaps.inputDatetime2 === null) {
  2700. this.getChartSeeParm.parammaps.inputDatetime2 = ''
  2701. }
  2702. this.getChartSeeParm.offset = 1
  2703. this.getChartSeeList()
  2704. },
  2705. handleDownloadChartSee() {
  2706. this.$alert('正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
  2707. this.isPercentage = true
  2708. this.percentage = 1
  2709. var timer = setInterval(() => {
  2710. this.percentage += 5
  2711. if (this.percentage > 95) {
  2712. this.percentage = 99
  2713. clearInterval(timer)
  2714. }
  2715. this.percentage = this.percentage
  2716. }, 1000)
  2717. this.downLoadParm2.name = 'getEqPartuseDetailList'
  2718. this.downLoadParm2.returntype = 'Map'
  2719. this.downLoadParm2.parammaps = this.getChartSeeParm.parammaps
  2720. GetAccount(this.downLoadParm2).then(response => {
  2721. this.$nextTick(() => {
  2722. this.downLoadList2 = response.data.list
  2723. if (response.data.list !== '') {
  2724. this.percentage = 99
  2725. setTimeout(() => {
  2726. this.isPercentage = false
  2727. }, 2000)
  2728. }
  2729. console.log(this.downLoadList2)
  2730. const ExcelDatas = [
  2731. {
  2732. tHeader: ['类型', '单号', '领用日期', '领用部门', '备件编号', '备件名称', '备件规格', '备件品牌', '计量单位', '出库数量', '退库数量', '单价', '总价'],
  2733. filterVal: ['useTypeV', 'RUcode', 'creatTime', 'departmentName', 'partCode', 'partName', 'specification', 'brandName', 'unit', 'checkoutNumber', 'quitNumber', 'price', 'sumPrice'],
  2734. tableDatas: this.downLoadList2,
  2735. sheetName: '费用统计'
  2736. }
  2737. ]
  2738. json2excel(ExcelDatas, '费用统计', true, 'xlsx')
  2739. })
  2740. })
  2741. },
  2742. form_delete(row) {
  2743. MessageBox.confirm('确认删除此信息?', {
  2744. confirmButtonText: '确认',
  2745. cancelButtonText: '取消',
  2746. type: 'warning'
  2747. }).then(() => {
  2748. this.requestParam.name = 'deleteAsset'
  2749. this.requestParam.parammaps = {}
  2750. this.requestParam.parammaps['id'] = row.id
  2751. PostDataByName(this.requestParam).then(() => {
  2752. if (this.getdataListParm.parammaps.inputDatetime1 === null) {
  2753. this.getdataListParm.parammaps.inputDatetime1 = ''
  2754. }
  2755. this.get_table_data()
  2756. this.get_table_dataSH()
  2757. this.dialogFormVisible = false
  2758. this.$notify({ title: '成功', message: '删除成功', type: 'success', duration: 2000 })
  2759. })
  2760. }).catch(() => {
  2761. this.$message({ type: 'info', message: '已取消删除' })
  2762. })
  2763. },
  2764. getDownClassList() {
  2765. getRecuData(this.getRecuListParm).then(response => {
  2766. this.parentClass = response.data
  2767. })
  2768. },
  2769. getEQNumber() {
  2770. this.getdataEQNumber.parammaps.pastureId = Cookies.get('pastureid')
  2771. GetDataByName(this.getdataEQNumber).then(response => {
  2772. this.createTemp.assetCode = response.data.list[0].createNumber
  2773. console.log(response.data.list[0].createNumber)
  2774. console.log(this.createTemp.assetCode)
  2775. this.$forceUpdate()
  2776. })
  2777. },
  2778. handleTabClick(val) {
  2779. console.log('点击了基础信息/审核设备tab', val)
  2780. if (val.name == 'first') {
  2781. this.isFlowChart = false
  2782. this.isDisplayRecord = true
  2783. } else {
  2784. this.isFlowChart = true
  2785. this.isDisplayRecord = false
  2786. }
  2787. this.get_table_data()
  2788. this.get_table_dataSH()
  2789. },
  2790. handleExamine(row) {
  2791. if (row == undefined) {
  2792. this.examineTemp = this.seeTemp
  2793. this.$set(this.seeTemp, 'SHstatue', 1)
  2794. this.$set(this.seeTemp, 'workflowNote', '')
  2795. } else {
  2796. this.examineTemp = Object.assign({}, row)
  2797. this.$set(this.examineTemp, 'SHstatue', 1)
  2798. this.$set(this.examineTemp, 'workflowNote', '')
  2799. }
  2800. this.dialogStatus = 'examine'
  2801. this.dialogFormVisible_Examine = true
  2802. this.statueReason = false
  2803. this.keyupSubmit()
  2804. },
  2805. changeSHStatue(val) {
  2806. if (val == 2) {
  2807. this.statueReason = true
  2808. } else {
  2809. this.statueReason = false
  2810. }
  2811. },
  2812. keyupSubmit() {
  2813. document.onkeydown = e => {
  2814. const _key = window.event.keyCode
  2815. if (_key === 13) {
  2816. this.createExamineData()
  2817. }
  2818. }
  2819. },
  2820. createExamineData() {
  2821. if (this.dialogStatus !== 'update' && this.dialogStatus !== 'create') {
  2822. this.isokDisable = true
  2823. setTimeout(() => {
  2824. this.isokDisable = false
  2825. }, 1000)
  2826. this.$refs['examineTemp'].validate(valid => {
  2827. if (valid) {
  2828. this.requestParam.name = 'eqCharge'
  2829. this.requestParam.parammaps = {}
  2830. this.requestParam.parammaps.id = this.examineTemp.id
  2831. if (this.examineTemp.SHstatue == 1) {
  2832. this.requestParam.parammaps.statue = 1
  2833. } else {
  2834. this.requestParam.parammaps.statue = 2
  2835. }
  2836. this.requestParam.parammaps.empId = Cookies.get('employeid')
  2837. this.requestParam.parammaps.workflowNote = this.examineTemp.workflowNote
  2838. PostDataByName(this.requestParam).then(response => {
  2839. console.log('审核确认发送参数', this.requestParam)
  2840. if (response.msg !== 'fail') {
  2841. this.dialogFormVisible_Examine = false
  2842. this.dialogFormVisible_See = false
  2843. this.statueReason = false
  2844. this.$notify({ title: '成功', message: '审核成功', type: 'success', duration: 2000 })
  2845. this.get_table_dataSH()
  2846. this.get_table_data()
  2847. this.activeName == 'second'
  2848. } else {
  2849. failproccess(response, this.$notify)
  2850. }
  2851. })
  2852. }
  2853. })
  2854. }
  2855. },
  2856. handleDownload() {
  2857. this.$alert('设备基础信息正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
  2858. this.isPercentage = true
  2859. this.percentage = 1
  2860. var timer = setInterval(() => {
  2861. this.percentage += 5
  2862. if (this.percentage > 95) {
  2863. this.percentage = 99
  2864. clearInterval(timer)
  2865. }
  2866. this.percentage = this.percentage
  2867. }, 1000)
  2868. this.downLoadParm.name = 'getAssetList'
  2869. this.downLoadParm.parammaps = this.getdataListParm.parammaps
  2870. GetAccount(this.downLoadParm).then(response => {
  2871. this.downLoadList = response.data.list
  2872. if (response.data.list !== '') {
  2873. this.percentage = 99
  2874. setTimeout(() => {
  2875. this.isPercentage = false
  2876. }, 2000)
  2877. }
  2878. console.log(this.downLoadList)
  2879. const elecExcelDatas = [
  2880. {
  2881. tHeader: ['牧场','设备类别', '资产编号', '设备名称', '设备内部编号', '设备规格', '品牌', '供应商', '用途', '状态', '购置日期', '入场日期', '折旧年限', '财务编号', '原值', '残值', '月核减值', '保养级别', '保养费用', '维修费用', '基数(小时)', '部门', '责任人', '录入人', '录入时间', '使用时长(年)', '使用率(%)', '指定维修人', '一级督办', '一级间隔时间', '二级督办', '二级间隔时间', '三级督办', '三级间隔时间',],
  2882. filterVal: ['pastureName','eqClassName', 'assetCode', 'eqName', 'eqCode', 'specification', 'brandName', 'providerName', 'purpose', 'status', 'purchaseDate', 'entranceDate', 'depreciation', 'financeCode', 'yuanzhi', 'salvage', 'subtractvalue', 'upkeepgrade', 'yearUpkeepCost', 'yearMaintainCost', 'baseHours', 'deptName', 'employeName', 'inputUserName', 'inputDatetime', 'serviceDuration', 'utilizationRate', 'maintenanceName', 'leveloneName', 'leveloneTime','leveltwoName', 'leveltwoTime','levelthreeName','levelthreeTime' ],
  2883. tableDatas: this.downLoadList,
  2884. sheetName: '设备基础信息'
  2885. }
  2886. ]
  2887. json2excel(elecExcelDatas, '设备基础信息', true, 'xlsx')
  2888. })
  2889. },
  2890. handleDownloadSH() {
  2891. this.$alert('设备基础信息正在导出中,请勿刷新或离开本页面,若导出时间过长,建议缩小导出数据范围重新导出', {})
  2892. this.isPercentage = true
  2893. this.percentage = 1
  2894. var timer = setInterval(() => {
  2895. this.percentage += 5
  2896. if (this.percentage > 95) {
  2897. this.percentage = 99
  2898. clearInterval(timer)
  2899. }
  2900. this.percentage = this.percentage
  2901. }, 1000)
  2902. this.downLoadParm.name = 'getAssetListSH'
  2903. this.downLoadParm.parammaps = this.getdataListParmSH.parammaps
  2904. GetAccount(this.downLoadParm).then(response => {
  2905. this.downLoadList = response.data.list
  2906. if (response.data.list !== '') {
  2907. this.percentage = 99
  2908. setTimeout(() => {
  2909. this.isPercentage = false
  2910. }, 2000)
  2911. }
  2912. console.log(this.downLoadList)
  2913. const elecExcelDatas = [
  2914. {
  2915. tHeader: ['设备类别', '资产编号', '设备名称', '设备内部编号', '设备规格', '品牌', '供应商', '用途', '状态', '购置日期', '入场日期', '折旧年限', '财务编号', '原值', '残值', '月核减值', '保养级别', '保养费用', '维修费用', '基数(小时)', '牧场', '部门', '责任人', '录入人', '录入时间'],
  2916. filterVal: ['eqClassName', 'assetCode', 'eqName', 'eqCode', 'specification', 'brandName', 'providerName', 'purpose', 'status', 'purchaseDate', 'entranceDate', 'depreciation', 'financeCode', 'yuanzhi', 'salvage', 'subtractvalue', 'upkeepgrade', 'yearUpkeepCost', 'yearMaintainCost', 'baseHours', 'pastureName', 'deptName', 'employeName', 'inputUserName', 'inputDatetime'],
  2917. tableDatas: this.downLoadList,
  2918. sheetName: '设备基础信息'
  2919. }
  2920. ]
  2921. json2excel(elecExcelDatas, '设备基础信息', true, 'xlsx')
  2922. })
  2923. },
  2924. handleSelectionChange(item) {
  2925. this.selectionList = item
  2926. },
  2927. handleBatchChange() {
  2928. if (this.selectionList.length > 0) {
  2929. for (let i = 0; i < this.selectionList.length; i++) {
  2930. if (this.selectionList[i].pastureId !== this.selectionList[0].pastureId) {
  2931. this.$message({ type: 'error', message: '请检测变更牧场是否一致!', duration: 2000 })
  2932. return false
  2933. }
  2934. }
  2935. console.log('批量变更')
  2936. this.batchChange.temp.departmentId = ''
  2937. this.batchChange.temp.employeeId = ''
  2938. this.batchChange.deptList = []
  2939. this.batchChange.personList = []
  2940. this.dialogFormVisible_change = true
  2941. this.dialogStatus = 'change'
  2942. this.batchChange.getdataListParmDept.parammaps.pastureId = this.selectionList[0].pastureId
  2943. this.getBatchChangeDeptDownList()
  2944. } else {
  2945. this.$message({ type: 'error', message: '请选择变更牧场', duration: 2000 })
  2946. }
  2947. },
  2948. getBatchChangeDeptDownList() {
  2949. GetDataByName(this.batchChange.getdataListParmDept).then(response => {
  2950. if (response.data.list !== null) {
  2951. this.batchChange.deptList = response.data.list
  2952. } else {
  2953. this.batchChange.deptList = []
  2954. }
  2955. })
  2956. },
  2957. changeBatchDept(item) {
  2958. console.log(item)
  2959. this.batchChange.getdataListParmPerson.parammaps.deptId = item
  2960. this.batchChange.temp.employeeId = ''
  2961. this.batchChange.getdataListParmPerson.parammaps.pastureId = this.batchChange.deptList.find(obj => obj.deptid == item).pastureId
  2962. this.getBatchChangePersonDownList()
  2963. },
  2964. getBatchChangePersonDownList() {
  2965. GetDataByName(this.batchChange.getdataListParmPerson).then(response => {
  2966. if (response.data.list !== null) {
  2967. this.batchChange.personList = response.data.list
  2968. } else {
  2969. this.batchChange.personList = []
  2970. }
  2971. })
  2972. },
  2973. changeBatchPerson(item) {
  2974. console.log(item)
  2975. this.batchChange.temp.employeeId = item
  2976. this.batchChange.temp.employeName = this.batchChange.personList.find(obj => obj.id == item).empname
  2977. this.$forceUpdate()
  2978. },
  2979. changeData() {
  2980. this.isokDisable = true
  2981. setTimeout(() => {
  2982. this.isokDisable = false
  2983. }, 1000)
  2984. this.$refs['batchChangeTemp'].validate(valid => {
  2985. if (valid) {
  2986. this.requestParam = {}
  2987. var array = []
  2988. for (let i = 0; i < this.selectionList.length; i++) {
  2989. var obj = {}
  2990. var parammaps = {}
  2991. obj.name = 'updateEquipmentALL'
  2992. obj.offset = 0
  2993. obj.pagecount = 0
  2994. parammaps.departmentId = this.batchChange.temp.departmentId
  2995. parammaps.employeeId = this.batchChange.temp.employeeId
  2996. parammaps.employeName = this.batchChange.temp.employeName
  2997. parammaps.id = this.selectionList[i].id
  2998. obj.parammaps = parammaps
  2999. array.push(obj)
  3000. }
  3001. this.requestParam.array = array
  3002. PostDataByNames(this.requestParam).then(response => {
  3003. if (response.msg !== 'fail') {
  3004. this.dialogFormVisible_change = false
  3005. this.$notify({ title: '成功', message: '保存成功', type: 'success', duration: 2000 })
  3006. this.get_table_data()
  3007. } else {
  3008. failproccess(response, this.$notify)
  3009. }
  3010. })
  3011. }
  3012. })
  3013. }
  3014. }
  3015. }
  3016. </script>
  3017. <style lang="scss" scoped>
  3018. .el-autocomplete-suggestion li{
  3019. padding:0 3px!important;
  3020. }
  3021. .el-table .warning-row {
  3022. background: oldlace;
  3023. }
  3024. .el-table .success-row {
  3025. background: #f0f9eb;
  3026. }
  3027. </style>
  3028. <style lang="scss">
  3029. .upkeepgrade .el-form-item__label{
  3030. line-height: 20px;
  3031. }
  3032. .inputDatetime .el-range-separator{
  3033. padding: 0;
  3034. margin: 0 10px;
  3035. }
  3036. .el-radio__label{
  3037. padding-left: 2px !important;
  3038. }
  3039. </style>
  3040. <style>
  3041. .el-table .goBeyond { background: #F47C7C ; }
  3042. .el-table .warning { background: #989DF0; }
  3043. .el-table .scrap { background: #D7D7D7; }
  3044. </style>