airDisinfectTwo.vue 107KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344
  1. <template>
  2. <div id="main-contain">
  3. <div class="position">
  4. <bread-crumb :crumbs='crumbs'></bread-crumb>
  5. </div>
  6. <div class="app-container">
  7. <div style="float: left; margin-bottom: 10px;">
  8. <el-date-picker
  9. v-model="startvalue"
  10. type="date"
  11. placeholder="选择日期"
  12. format="yyyy-MM-dd"
  13. value-format="yyyy-MM-dd"
  14. style="width: 150px;"
  15. @change="changeStartime">
  16. </el-date-picker>
  17. <span>-</span>
  18. <el-date-picker
  19. v-model="endvalue"
  20. type="date"
  21. placeholder="选择日期"
  22. format="yyyy-MM-dd"
  23. value-format="yyyy-MM-dd"
  24. style="width: 150px;"
  25. @change="changeEndtime">
  26. </el-date-picker>
  27. <el-select v-model="storey" placeholder="请选择" @chang="changeStore" v-if="art_way_one==0||art_way_one == 1">
  28. <el-option
  29. v-for="(item,index) in storeyList"
  30. :key="index"
  31. :label="item.name"
  32. :value="item.name">
  33. </el-option>
  34. </el-select>
  35. <el-button type="primary" style="margin-left: 10px;" @click="toSeach">搜索</el-button>
  36. </div>
  37. <div style="float:right;margin-bottom:10px;">
  38. <el-button type="primary" @click="setAirDisInfect">设置</el-button>
  39. <el-button type="primary" @click="printCard" v-if="art_way_one==0||art_way_one == 1">打印</el-button>
  40. <el-button type="primary" @click="printCardOne" v-if="art_way_one == 2">打印</el-button>
  41. <el-button type="primary" @click="AddCard" v-if="art_way_one==0||art_way_one == 1">新增</el-button>
  42. <el-button type="primary" @click="AddCardOne" v-if="art_way_one == 2">新增</el-button>
  43. </div>
  44. <div class="tab_air" v-if="art_way_one ==0 ||art_way_one == 1">
  45. <el-table :data="tableData" :fit="true" stripe>
  46. <el-table-column prop="year" label="名称" width="150" align="center">
  47. <el-table-column prop="year" label="消毒时间" align="center" width="150">
  48. <el-table-column prop="year" label="日期" align="center" width="150">
  49. <template slot-scope="scope">
  50. {{getTimes(scope.row.record_date) }}
  51. </template>
  52. </el-table-column>
  53. </el-table-column>
  54. </el-table-column>
  55. <el-table-column prop="fenopda" label="楼层" align="center" min-width="70">
  56. <template slot-scope="scope">
  57. {{scope.row.storey }}
  58. </template>
  59. </el-table-column>
  60. <el-table-column prop="fenopda" label="透析室" align="center" min-width="70">
  61. <template slot-scope="scope">
  62. {{getTimeTwo(scope.row.first_start_time)}} - {{ getTimeTwo(scope.row.first_end_time) }}
  63. </template>
  64. </el-table-column>
  65. <el-table-column prop="dwaiod" label="累计时间" align="center" min-width="50">
  66. <template slot-scope="scope">
  67. {{scope.row.first_total_time?scope.row.first_total_time:"" }}
  68. </template>
  69. </el-table-column>
  70. <el-table-column prop="date" label="责任人" align="center" min-width="50">
  71. <template slot-scope="scope">
  72. {{getName(scope.row.first_creator)}}
  73. </template>
  74. </el-table-column>
  75. <el-table-column prop="name" label="治疗室" align="center" min-width="80">
  76. <template slot-scope="scope">
  77. {{ getTimeTwo(scope.row.sencond_start_time)}} - {{ getTimeTwo(scope.row.sencond_end_time) }}
  78. </template>
  79. </el-table-column>
  80. <el-table-column prop="province" label="累计时间" align="center" min-width="50">
  81. <template slot-scope="scope">
  82. {{ scope.row.sencond_total_time?scope.row.sencond_total_time:"" }}
  83. </template>
  84. </el-table-column>
  85. <el-table-column prop="city" label="负责人" align="center" min-width="50">
  86. <template slot-scope="scope">
  87. {{getName(scope.row.sencond_creator)}}
  88. </template>
  89. </el-table-column>
  90. <el-table-column prop="name" label="水处理、库房" align="center" min-width="100">
  91. <template slot-scope="scope">
  92. {{ getTimeTwo(scope.row.third_start_time)}} - {{ getTimeTwo(scope.row.third_end_time) }}
  93. </template>
  94. </el-table-column>
  95. <el-table-column prop="province" label="累计时间" align="center" min-width="45">
  96. <template slot-scope="scope">
  97. {{scope.row.third_total_time?scope.row.third_total_time:"" }}
  98. </template>
  99. </el-table-column>
  100. <el-table-column prop="city" label="负责人" align="center" min-width="50">
  101. <template slot-scope="scope">
  102. {{getName(scope.row.third_creator)}}
  103. </template>
  104. </el-table-column>
  105. <el-table-column prop="name" label="通风" align="center" min-width="80">
  106. <template slot-scope="scope">
  107. {{ getTimeTwo(scope.row.last_start_time)}} - {{ getTimeTwo(scope.row.last_end_time) }}
  108. </template>
  109. </el-table-column>
  110. <el-table-column prop="province" label="负责人" align="center" min-width="60">
  111. <template slot-scope="scope">
  112. {{getName(scope.row.last_creator)}}
  113. </template>
  114. </el-table-column>
  115. <el-table-column prop="city" label="操作" align="center" min-width="150">
  116. <template slot-scope="scope">
  117. <el-button
  118. size="mini"
  119. type="primary"
  120. @click="handleEdit(scope.row.id)">编辑</el-button>
  121. <el-button
  122. size="mini"
  123. type="danger"
  124. @click="handleDelete(scope.row.id)">删除</el-button>
  125. </template>
  126. </el-table-column>
  127. </el-table>
  128. <el-pagination
  129. :page-sizes="[10, 20, 50, 100]"
  130. :page-size="10"
  131. background
  132. style="margin-top:20px;float: right"
  133. layout="total, sizes, prev, pager, next, jumper"
  134. :total="total"
  135. @size-change="handleSizeChange"
  136. @current-change="handleCurrentChange"
  137. >
  138. </el-pagination>
  139. </div>
  140. <div v-if="art_way_one == 2">
  141. <el-table
  142. :data="tableDataOne"
  143. style="width: 100%"
  144. row-key="id"
  145. border
  146. lazy
  147. :load="load"
  148. :tree-props="{children: 'children', hasChildren: 'hasChildren'}">
  149. <el-table-column prop="date" label="消毒时间" width="100">
  150. <template slot-scope="scope">
  151. {{getTimes(scope.row.record_date) }}
  152. </template>
  153. </el-table-column>
  154. <el-table-column prop="date" label="消毒科室" width="100">
  155. <template slot-scope="scope">
  156. {{ scope.row.department }}
  157. </template>
  158. </el-table-column>
  159. <el-table-column prop="name" label="累计时间" width="100">
  160. <template slot-scope="scope">
  161. {{scope.row.first_total_time?scope.row.first_total_time:"" }}
  162. </template>
  163. </el-table-column>
  164. <el-table-column prop="address" label="责任人" width="100">
  165. <template slot-scope="scope">
  166. {{getName(scope.row.first_creator)}}
  167. </template>
  168. </el-table-column>
  169. <el-table-column prop="name" label="通风" align="center" min-width="80">
  170. <template slot-scope="scope">
  171. {{ getTimeTwo(scope.row.last_start_time)}} - {{ getTimeTwo(scope.row.last_end_time) }}
  172. </template>
  173. </el-table-column>
  174. <el-table-column prop="province" label="负责人" align="center" min-width="60">
  175. <template slot-scope="scope">
  176. {{getName(scope.row.last_creator)}}
  177. </template>
  178. </el-table-column>
  179. <el-table-column prop="city" label="操作" align="center" min-width="150">
  180. <template slot-scope="scope">
  181. <el-button
  182. size="mini"
  183. type="primary"
  184. @click="handleEditOne(scope.row.id)">编辑</el-button>
  185. <el-button
  186. size="mini"
  187. type="danger"
  188. @click="handleDeleteOne(scope.row.id)">删除</el-button>
  189. </template>
  190. </el-table-column>
  191. </el-table>
  192. <el-pagination
  193. :page-sizes="[10, 20, 50, 100]"
  194. :page-size="10"
  195. background
  196. style="margin-top:20px;float: right"
  197. :total="total"
  198. @size-change="handleSizeChangeOne"
  199. @current-change="handleCurrentChangeOne"
  200. >
  201. </el-pagination>
  202. </div>
  203. <!-- 新增 -->
  204. <el-dialog
  205. class="centerDialog"
  206. width="1000px"
  207. title="新增空气消毒表"
  208. :visible.sync="dialogFormVisible">
  209. <el-form :model="form" ref="form" class="airForm" :rules="airRules">
  210. <div style="width: 100%;">
  211. <el-form-item label="创建日期" label-width="110px" required prop="record_date">
  212. <el-date-picker
  213. value-format="yyyy-MM-dd"
  214. v-model="form.record_date"
  215. type="date"
  216. placeholder="选择日期时间">
  217. </el-date-picker>
  218. </el-form-item>
  219. </div>
  220. <div style="width: 100%;">
  221. <el-form-item label="楼层">
  222. <el-select v-model="form.storey" placeholder="请选择楼层" @change="changeStorey">
  223. <el-option
  224. v-for="(item,index) in storeyList"
  225. :key="index"
  226. :label="item.name"
  227. :value="item.name">
  228. </el-option>
  229. </el-select>
  230. </el-form-item>
  231. </div>
  232. <div class="form_title"><span >透析室</span></div>
  233. <el-form-item label="消毒液" label-width="110px">
  234. <el-select v-model="form.first_disinfection_water" placeholder="请选择">
  235. <el-option
  236. v-for="(item,index) in disInfectionWaterList"
  237. :key="index"
  238. :label="item.name"
  239. :value="item.name">
  240. </el-option>
  241. </el-select>
  242. </el-form-item>
  243. <el-form-item label="消毒方式" label-width="110px">
  244. <!-- <el-input v-model="form.first_disinfection_methods"></el-input> -->
  245. <el-select v-model="form.first_disinfection_methods" placeholder="请选择">
  246. <el-option
  247. v-for="(item,index) in DisinfectionMode"
  248. :key="index"
  249. :label="item.name"
  250. :value="item.name">
  251. </el-option>
  252. </el-select>
  253. </el-form-item>
  254. <el-form-item label="消毒时间(h)" label-width="110px">
  255. <el-input v-model="form.first_disinfection_time " :disabled="true"></el-input>
  256. </el-form-item>
  257. <el-form-item label="开始时间" label-width="110px">
  258. <el-date-picker
  259. type="datetime"
  260. format="yyyy-MM-dd HH:mm"
  261. value-format="yyyy-MM-dd HH:mm"
  262. placeholder="选择时间"
  263. v-model="form.first_start_time"
  264. @change="firststartime"
  265. style="width:100%;"
  266. ></el-date-picker>
  267. </el-form-item>
  268. <el-form-item label="结束时间" label-width="110px">
  269. <el-date-picker
  270. type="datetime"
  271. format="yyyy-MM-dd HH:mm"
  272. value-format="yyyy-MM-dd HH:mm"
  273. placeholder="选择时间"
  274. v-model="form.first_end_time"
  275. @change="firstendtime"
  276. style="width:100%;"
  277. ></el-date-picker>
  278. </el-form-item>
  279. <el-form-item label="累计时间(h)" label-width="110px">
  280. <el-input v-model= "form.first_total_time" ></el-input>
  281. </el-form-item>
  282. <el-form-item label="检测合格" label-width="110px">
  283. <div>
  284. <el-radio v-model="form.first_is_check" label="1">是</el-radio>
  285. <el-radio v-model="form.first_is_check" label="2">否</el-radio>
  286. </div>
  287. </el-form-item>
  288. <el-form-item label="修改标志" label-width="110px">
  289. <el-select v-model="form.first_modifications" placeholder="请选择">
  290. <el-option
  291. v-for="(item,index) in options"
  292. :key="index"
  293. :label="item.name"
  294. :value="item.id">
  295. </el-option>
  296. </el-select>
  297. </el-form-item>
  298. <el-form-item label="责任人" label-width="110px">
  299. <el-select v-model="form.first_creator" placeholder="请选择">
  300. <el-option
  301. v-for="(item,index) in docList"
  302. :key="index"
  303. :label="item.user_name"
  304. :value="item.admin_user_id">
  305. </el-option>
  306. </el-select>
  307. </el-form-item>
  308. <div class="form_title"><span >治疗室</span></div>
  309. <el-form-item label="消毒液" label-width="110px">
  310. <!-- <el-input v-model="form.sencond_disinfection_water"></el-input> -->
  311. <el-select v-model="form.sencond_disinfection_water" placeholder="请选择">
  312. <el-option
  313. v-for="(item,index) in disInfectionWaterList"
  314. :key="index"
  315. :label="item.name"
  316. :value="item.name">
  317. </el-option>
  318. </el-select>
  319. </el-form-item>
  320. <el-form-item label="消毒方式" label-width="110px">
  321. <!-- <el-input v-model="form.sencond_disinfection_methods"></el-input> -->
  322. <el-select v-model="form.sencond_disinfection_methods" placeholder="请选择">
  323. <el-option
  324. v-for="(item,index) in DisinfectionMode"
  325. :key="index"
  326. :label="item.name"
  327. :value="item.name">
  328. </el-option>
  329. </el-select>
  330. </el-form-item>
  331. <el-form-item label="消毒时间(h)" label-width="110px">
  332. <el-input v-model="form.sencond_disinfection_time " :disabled="true"></el-input>
  333. </el-form-item>
  334. <el-form-item label="开始时间" label-width="110px">
  335. <el-date-picker
  336. type="datetime"
  337. format="yyyy-MM-dd HH:mm:ss"
  338. value-format="yyyy-MM-dd HH:mm"
  339. placeholder="选择时间"
  340. v-model="form.sencond_start_time"
  341. @change="sencondstarttime"
  342. style="width:100%;"
  343. ></el-date-picker>
  344. </el-form-item>
  345. <el-form-item label="结束时间" label-width="110px">
  346. <el-date-picker
  347. type="datetime"
  348. format="yyyy-MM-dd HH:mm"
  349. value-format="yyyy-MM-dd HH:mm"
  350. placeholder="选择时间"
  351. v-model="form.sencond_end_time"
  352. @change="sencondendtime"
  353. style="width:100%;"
  354. ></el-date-picker>
  355. </el-form-item>
  356. <el-form-item label="累计时间(h)" label-width="110px">
  357. <el-input v-model= "form.sencond_total_time" ></el-input>
  358. </el-form-item>
  359. <el-form-item label="检测合格" label-width="110px">
  360. <div>
  361. <el-radio v-model="form.sencond_is_check" label="1">是</el-radio>
  362. <el-radio v-model="form.sencond_is_check" label="2">否</el-radio>
  363. </div>
  364. </el-form-item>
  365. <el-form-item label="修改标志" label-width="110px">
  366. <el-select v-model="form.sencond_modifications" placeholder="请选择">
  367. <el-option
  368. v-for="(item,index) in options"
  369. :key="index"
  370. :label="item.name"
  371. :value="item.id">
  372. </el-option>
  373. </el-select>
  374. </el-form-item>
  375. <el-form-item label="责任人" label-width="110px">
  376. <el-select v-model="form.sencond_creator" placeholder="请选择">
  377. <el-option
  378. v-for="(item,index) in docList"
  379. :key="index"
  380. :label="item.user_name"
  381. :value="item.admin_user_id">
  382. </el-option>
  383. </el-select>
  384. </el-form-item>
  385. <div class="form_title"><span >水处理、库房</span></div>
  386. <el-form-item label="消毒液" label-width="110px">
  387. <!-- <el-input v-model="form.third_disinfection_water"></el-input> -->
  388. <el-select v-model="form.third_disinfection_water" placeholder="请选择">
  389. <el-option
  390. v-for="(item,index) in disInfectionWaterList"
  391. :key="index"
  392. :label="item.name"
  393. :value="item.name">
  394. </el-option>
  395. </el-select>
  396. </el-form-item>
  397. <el-form-item label="消毒方式" label-width="110px">
  398. <!-- <el-input v-model="form.third_disinfection_methods"></el-input> -->
  399. <el-select v-model="form.third_disinfection_methods" placeholder="请选择">
  400. <el-option
  401. v-for="(item,index) in DisinfectionMode"
  402. :key="index"
  403. :label="item.name"
  404. :value="item.name">
  405. </el-option>
  406. </el-select>
  407. </el-form-item>
  408. <el-form-item label="消毒时间(h)" label-width="110px">
  409. <el-input v-model="form.third_disinfection_time " :disabled="true"></el-input>
  410. </el-form-item>
  411. <el-form-item label="开始时间" label-width="110px">
  412. <el-date-picker
  413. type="datetime"
  414. format="yyyy-MM-dd HH:mm"
  415. value-format="yyyy-MM-dd HH:mm"
  416. placeholder="选择时间"
  417. v-model="form.third_start_time"
  418. @change="thirdstarttime"
  419. style="width:100%;"
  420. ></el-date-picker>
  421. </el-form-item>
  422. <el-form-item label="结束时间" label-width="110px">
  423. <el-date-picker
  424. type="datetime"
  425. format="yyyy-MM-dd HH:mm"
  426. value-format="yyyy-MM-dd HH:mm"
  427. placeholder="选择时间"
  428. v-model="form.third_end_time"
  429. @change="thirdendtime"
  430. style="width:100%;"
  431. ></el-date-picker>
  432. </el-form-item>
  433. <el-form-item label="累计时间(h)" label-width="110px">
  434. <el-input v-model= "form.third_total_time" ></el-input>
  435. </el-form-item>
  436. <el-form-item label="检测合格" label-width="110px">
  437. <div>
  438. <el-radio v-model="form.third_is_check" label="1">是</el-radio>
  439. <el-radio v-model="form.third_is_check" label="2">否</el-radio>
  440. </div>
  441. </el-form-item>
  442. <el-form-item label="修改标志" label-width="110px" >
  443. <el-select v-model="form.third_modifications" placeholder="请选择">
  444. <el-option
  445. v-for="(item,index) in options"
  446. :key="index"
  447. :label="item.name"
  448. :value="item.id">
  449. </el-option>
  450. </el-select>
  451. </el-form-item>
  452. <el-form-item label="责任人" label-width="110px">
  453. <el-select v-model="form.third_creator" placeholder="请选择">
  454. <el-option
  455. v-for="(item,index) in docList"
  456. :key="index"
  457. :label="item.user_name"
  458. :value="item.admin_user_id">
  459. </el-option>
  460. </el-select>
  461. </el-form-item>
  462. <div class="form_title"><span >通风</span></div>
  463. <el-form-item label="开始时间" label-width="110px">
  464. <el-date-picker
  465. type="datetime"
  466. format="yyyy-MM-dd HH:mm"
  467. value-format="yyyy-MM-dd HH:mm"
  468. placeholder="选择时间"
  469. v-model="form.last_start_time"
  470. @change="laststarttime"
  471. style="width:100%;"
  472. ></el-date-picker>
  473. </el-form-item>
  474. <el-form-item label="结束时间" label-width="110px">
  475. <el-date-picker
  476. type="datetime"
  477. format="yyyy-MM-dd HH:mm"
  478. value-format="yyyy-MM-dd HH:mm"
  479. placeholder="选择时间"
  480. v-model="form.last_end_time"
  481. @change="lastendtime"
  482. style="width:100%;"
  483. ></el-date-picker>
  484. </el-form-item>
  485. <el-form-item label="累计时间(h)" label-width="110px">
  486. <el-input v-model= "form.last_total_time" ></el-input>
  487. </el-form-item>
  488. <el-form-item label="检测合格" label-width="110px">
  489. <div>
  490. <el-radio v-model="form.last_is_check" label="1">是</el-radio>
  491. <el-radio v-model="form.last_is_check" label="2">否</el-radio>
  492. </div>
  493. </el-form-item>
  494. <el-form-item label="修改标志" label-width="110px" prop="last_modifications">
  495. <el-select v-model="form.last_modifications" placeholder="请选择">
  496. <el-option
  497. v-for="(item,index) in options"
  498. :key="index"
  499. :label="item.name"
  500. :value="item.id">
  501. </el-option>
  502. </el-select>
  503. </el-form-item>
  504. <el-form-item label="责任人" label-width="110px" prop="creator">
  505. <el-select v-model="form.last_creator" placeholder="请选择">
  506. <el-option
  507. v-for="(item,index) in docList"
  508. :key="index"
  509. :label="item.user_name"
  510. :value="item.admin_user_id">
  511. </el-option>
  512. </el-select>
  513. </el-form-item>
  514. </el-form>
  515. <div slot="footer" class="dialog-footer">
  516. <el-button @click="dialogFormVisible = false">取 消</el-button>
  517. <el-button type="primary" @click="saveNewAirDisinfect('form')">保 存</el-button>
  518. </div>
  519. </el-dialog>
  520. <!-- 编辑 -->
  521. <el-dialog
  522. class="centerDialog"
  523. width="1000px"
  524. title="编辑空气消毒表"
  525. :visible.sync="editDialogFormVisible">
  526. <el-form :model="form" ref="form" class="airForm" :rules="airRules">
  527. <div style="width: 100%;">
  528. <el-form-item label="创建日期" label-width="110px" required prop="record_date">
  529. <el-date-picker
  530. value-format="yyyy-MM-dd"
  531. v-model="form.record_date"
  532. type="date"
  533. placeholder="选择日期时间">
  534. </el-date-picker>
  535. </el-form-item>
  536. </div>
  537. <div style="width: 100%;">
  538. <el-form-item label="楼层">
  539. <el-select v-model="form.storey" placeholder="请选择">
  540. <el-option
  541. v-for="(item,index) in storeyList"
  542. :key="index"
  543. :label="item.name"
  544. :value="item.name">
  545. </el-option>
  546. </el-select>
  547. </el-form-item>
  548. </div>
  549. <div class="form_title"><span >透析室</span></div>
  550. <el-form-item label="消毒液" label-width="110px">
  551. <el-select v-model="form.first_disinfection_water" placeholder="请选择">
  552. <el-option
  553. v-for="(item,index) in disInfectionWaterList"
  554. :key="index"
  555. :label="item.name"
  556. :value="item.name">
  557. </el-option>
  558. </el-select>
  559. </el-form-item>
  560. <el-form-item label="消毒方式" label-width="110px">
  561. <!-- <el-input v-model="form.first_disinfection_methods"></el-input> -->
  562. <el-select v-model="form.first_disinfection_methods" placeholder="请选择">
  563. <el-option
  564. v-for="(item,index) in DisinfectionMode"
  565. :key="index"
  566. :label="item.name"
  567. :value="item.name">
  568. </el-option>
  569. </el-select>
  570. </el-form-item>
  571. <el-form-item label="消毒时间(h)" label-width="110px">
  572. <el-input v-model="form.first_disinfection_time " :disabled="true"></el-input>
  573. </el-form-item>
  574. <el-form-item label="开始时间" label-width="110px">
  575. <el-date-picker
  576. type="datetime"
  577. format="yyyy-MM-dd HH:mm"
  578. value-format="yyyy-MM-dd HH:mm"
  579. placeholder="选择时间"
  580. v-model="form.first_start_time"
  581. @change="firststartime"
  582. style="width:100%;"
  583. ></el-date-picker>
  584. </el-form-item>
  585. <el-form-item label="结束时间" label-width="110px">
  586. <el-date-picker
  587. type="datetime"
  588. format="yyyy-MM-dd HH:mm"
  589. value-format="yyyy-MM-dd HH:mm"
  590. placeholder="选择时间"
  591. v-model="form.first_end_time"
  592. @change="firstendtime"
  593. style="width:100%;"
  594. ></el-date-picker>
  595. </el-form-item>
  596. <el-form-item label="累计时间(h)" label-width="110px">
  597. <el-input v-model= "form.first_total_time" ></el-input>
  598. </el-form-item>
  599. <el-form-item label="检测合格" label-width="110px">
  600. <div>
  601. <el-radio v-model="form.first_is_check" label="1">是</el-radio>
  602. <el-radio v-model="form.first_is_check" label="2">否</el-radio>
  603. </div>
  604. </el-form-item>
  605. <el-form-item label="修改标志" label-width="110px" >
  606. <el-select v-model="form.first_modifications" placeholder="请选择">
  607. <el-option
  608. v-for="(item,index) in options"
  609. :key="index"
  610. :label="item.name"
  611. :value="item.id">
  612. </el-option>
  613. </el-select>
  614. </el-form-item>
  615. <el-form-item label="责任人" label-width="110px">
  616. <el-select v-model="form.first_creator" placeholder="请选择">
  617. <el-option
  618. v-for="(item,index) in docList"
  619. :key="index"
  620. :label="item.user_name"
  621. :value="item.admin_user_id">
  622. </el-option>
  623. </el-select>
  624. </el-form-item>
  625. <div class="form_title"><span >治疗室</span></div>
  626. <el-form-item label="消毒液" label-width="110px">
  627. <!-- <el-input v-model="form.sencond_disinfection_water"></el-input> -->
  628. <el-select v-model="form.sencond_disinfection_water" placeholder="请选择">
  629. <el-option
  630. v-for="(item,index) in disInfectionWaterList"
  631. :key="index"
  632. :label="item.name"
  633. :value="item.name">
  634. </el-option>
  635. </el-select>
  636. </el-form-item>
  637. <el-form-item label="消毒方式" label-width="110px">
  638. <!-- <el-input v-model="form.sencond_disinfection_methods"></el-input> -->
  639. <el-select v-model="form.sencond_disinfection_methods" placeholder="请选择">
  640. <el-option
  641. v-for="(item,index) in DisinfectionMode"
  642. :key="index"
  643. :label="item.name"
  644. :value="item.name">
  645. </el-option>
  646. </el-select>
  647. </el-form-item>
  648. <el-form-item label="消毒时间(h)" label-width="110px">
  649. <el-input v-model="form.sencond_disinfection_time " :disabled="true"></el-input>
  650. </el-form-item>
  651. <el-form-item label="开始时间" required label-width="110px">
  652. <el-date-picker
  653. type="datetime"
  654. format="yyyy-MM-dd HH:mm"
  655. value-format="yyyy-MM-dd HH:mm"
  656. placeholder="选择时间"
  657. v-model="form.sencond_start_time"
  658. style="width:100%;"
  659. ></el-date-picker>
  660. </el-form-item>
  661. <el-form-item label="结束时间" label-width="110px">
  662. <el-date-picker
  663. type="datetime"
  664. format="yyyy-MM-dd HH:mm"
  665. value-format="yyyy-MM-dd HH:mm"
  666. placeholder="选择时间"
  667. v-model="form.sencond_end_time"
  668. @change="sencondendtime"
  669. style="width:100%;"
  670. ></el-date-picker>
  671. </el-form-item>
  672. <el-form-item label="累计时间(h)" label-width="110px">
  673. <el-input v-model= "form.sencond_total_time" ></el-input>
  674. </el-form-item>
  675. <el-form-item label="检测合格" label-width="110px">
  676. <div>
  677. <el-radio v-model="form.sencond_is_check" label="1">是</el-radio>
  678. <el-radio v-model="form.sencond_is_check" label="2">否</el-radio>
  679. </div>
  680. </el-form-item>
  681. <el-form-item label="修改标志" label-width="110px">
  682. <el-select v-model="form.sencond_modifications" placeholder="请选择">
  683. <el-option
  684. v-for="(item,index) in options"
  685. :key="index"
  686. :label="item.name"
  687. :value="item.id">
  688. </el-option>
  689. </el-select>
  690. </el-form-item>
  691. <el-form-item label="责任人" label-width="110px" >
  692. <el-select v-model="form.sencond_creator" placeholder="请选择">
  693. <el-option
  694. v-for="(item,index) in docList"
  695. :key="index"
  696. :label="item.user_name"
  697. :value="item.admin_user_id">
  698. </el-option>
  699. </el-select>
  700. </el-form-item>
  701. <div class="form_title"><span >水处理、库房</span></div>
  702. <el-form-item label="消毒液" label-width="110px">
  703. <!-- <el-input v-model="form.third_disinfection_water"></el-input> -->
  704. <el-select v-model="form.third_disinfection_water" placeholder="请选择">
  705. <el-option
  706. v-for="(item,index) in disInfectionWaterList"
  707. :key="index"
  708. :label="item.name"
  709. :value="item.name">
  710. </el-option>
  711. </el-select>
  712. </el-form-item>
  713. <el-form-item label="消毒方式" label-width="110px">
  714. <!-- <el-input v-model="form.third_disinfection_methods"></el-input> -->
  715. <el-select v-model="form.sencond_disinfection_methods" placeholder="请选择">
  716. <el-option
  717. v-for="(item,index) in DisinfectionMode"
  718. :key="index"
  719. :label="item.name"
  720. :value="item.name">
  721. </el-option>
  722. </el-select>
  723. </el-form-item>
  724. <el-form-item label="消毒时间(h)" label-width="110px">
  725. <el-input v-model="form.third_disinfection_time " :disabled="true"></el-input>
  726. </el-form-item>
  727. <el-form-item label="开始时间" label-width="110px">
  728. <el-date-picker
  729. type="datetime"
  730. format="yyyy-MM-dd HH:mm"
  731. value-format="yyyy-MM-dd HH:mm"
  732. placeholder="选择时间"
  733. v-model="form.third_start_time"
  734. @change="thirdstarttime"
  735. style="width:100%;"
  736. ></el-date-picker>
  737. </el-form-item>
  738. <el-form-item label="结束时间" label-width="110px">
  739. <el-date-picker
  740. type="datetime"
  741. format="yyyy-MM-dd HH:mm"
  742. value-format="yyyy-MM-dd HH:mm"
  743. placeholder="选择时间"
  744. v-model="form.third_end_time"
  745. @change="thirdendtime"
  746. style="width:100%;"
  747. ></el-date-picker>
  748. </el-form-item>
  749. <el-form-item label="累计时间(h)" label-width="110px">
  750. <el-input v-model= "form.third_total_time" ></el-input>
  751. </el-form-item>
  752. <el-form-item label="检测合格" label-width="110px" prop="check_out">
  753. <div>
  754. <el-radio v-model="form.third_is_check" label="1">是</el-radio>
  755. <el-radio v-model="form.third_is_check" label="2">否</el-radio>
  756. </div>
  757. </el-form-item>
  758. <el-form-item label="修改标志" label-width="110px" prop="modifications">
  759. <el-select v-model="form.third_modifications" placeholder="请选择">
  760. <el-option
  761. v-for="(item,index) in options"
  762. :key="index"
  763. :label="item.name"
  764. :value="item.id">
  765. </el-option>
  766. </el-select>
  767. </el-form-item>
  768. <el-form-item label="责任人" label-width="110px" prop="creator">
  769. <el-select v-model="form.third_creator" placeholder="请选择">
  770. <el-option
  771. v-for="(item,index) in docList"
  772. :key="index"
  773. :label="item.user_name"
  774. :value="item.admin_user_id">
  775. </el-option>
  776. </el-select>
  777. </el-form-item>
  778. <div class="form_title"><span >通风</span></div>
  779. <el-form-item label="开始时间" label-width="110px">
  780. <el-date-picker
  781. type="datetime"
  782. format="yyyy-MM-dd HH:mm"
  783. value-format="yyyy-MM-dd HH:mm"
  784. placeholder="选择时间"
  785. v-model="form.last_start_time"
  786. @change="laststarttime"
  787. style="width:100%;"
  788. ></el-date-picker>
  789. </el-form-item>
  790. <el-form-item label="结束时间" label-width="110px">
  791. <el-date-picker
  792. type="datetime"
  793. format="yyyy-MM-dd HH:mm"
  794. value-format="yyyy-MM-dd HH:mm"
  795. placeholder="选择时间"
  796. v-model="form.last_end_time"
  797. @change="lastendtime"
  798. style="width:100%;"
  799. ></el-date-picker>
  800. </el-form-item>
  801. <el-form-item label="累计时间(h)" label-width="110px">
  802. <el-input v-model= "form.last_total_time" ></el-input>
  803. </el-form-item>
  804. <el-form-item label="检测合格" label-width="110px" prop="check_out">
  805. <div>
  806. <el-radio v-model="form.last_is_check" label="1">是</el-radio>
  807. <el-radio v-model="form.last_is_check" label="2">否</el-radio>
  808. </div>
  809. </el-form-item>
  810. <el-form-item label="修改标志" label-width="110px">
  811. <el-select v-model="form.last_modifications" placeholder="请选择">
  812. <el-option
  813. v-for="(item,index) in options"
  814. :key="index"
  815. :label="item.name"
  816. :value="item.id">
  817. </el-option>
  818. </el-select>
  819. </el-form-item>
  820. <el-form-item label="责任人" label-width="110px" prop="creator">
  821. <el-select v-model="form.last_creator" placeholder="请选择">
  822. <el-option
  823. v-for="(item,index) in docList"
  824. :key="index"
  825. :label="item.user_name"
  826. :value="item.admin_user_id">
  827. </el-option>
  828. </el-select>
  829. </el-form-item>
  830. </el-form>
  831. <div slot="footer" class="dialog-footer">
  832. <el-button @click="editDialogFormVisible = false">取 消</el-button>
  833. <el-button type="primary" @click="updateAirDisinfect('form')">保 存</el-button>
  834. </div>
  835. </el-dialog>
  836. <div hidden="hidden">
  837. <div id="print-card-info" v-show="hiddenShow">
  838. <div>
  839. <h1 style="text-align: center;">空气消毒登记</h1>
  840. <div>
  841. <table border="1" style="text-align: center;margin: auto;border-collapse: collapse;">
  842. <tr>
  843. <td style="position: relative;box-sizing: border-box;width: 107px;
  844. height: 80px;">
  845. <span style="position: absolute; right: 10px; top: 10px; font-size: 12px;">名称</span>
  846. <span style="position: absolute; display: block; top: 0; left: 46px; width: 100px;
  847. border-bottom:1px solid black ;transform: rotate(52deg);
  848. transform-origin: top left;"></span>
  849. <span style="position: absolute; right: 45px; top: 23px;font-size: 12px;">消毒 <br/>时间</span>
  850. <span style="position: absolute; display: block; top: 46px; left: 0; width: 113px;
  851. border-bottom:1px solid black ;transform: rotate(17deg);
  852. transform-origin: top left;"></span>
  853. <span style="position: absolute; left: 6px; bottom: 6px;font-size: 12px;">日期</span>
  854. </td>
  855. <td>楼层</td>
  856. <td>透析室</td>
  857. <td>累计时间</td>
  858. <td>责任人</td>
  859. <td>治疗室</td>
  860. <td>累计时间</td>
  861. <td>责任人</td>
  862. <td>水处理、库房</td>
  863. <td>累计时间</td>
  864. <td>责任人</td>
  865. <td>通风</td>
  866. <td>负责人</td>
  867. </tr>
  868. <tr v-for="(item,index) in tableData" :key="index">
  869. <td>{{item.storey}}</td>
  870. <td>{{getTimes(item.record_date) }}</td>
  871. <td>{{ getTimeTwo(item.first_start_time)}} - {{ getTimeTwo(item.first_end_time) }}</td>
  872. <td>{{item.first_total_time }}</td>
  873. <td>
  874. <span v-if="setAdminUserES(item.first_creator?item.last_creator:item.first_creator) == ''">
  875. {{getName(item.first_creator)}}
  876. </span>
  877. <span v-else>
  878. <img style="height:30px;" :src="setAdminUserES(item.last_creator?item.last_creator:item.last_creator)" alt="" srcset="">
  879. </span>
  880. </td>
  881. <td>{{ getTimeTwo(item.sencond_start_time)}} - {{ getTimeTwo(item.sencond_end_time) }}</td>
  882. <td>{{item.sencond_total_time }}</td>
  883. <td>
  884. <span v-if="setAdminUserES(item.sencond_creator?item.sencond_creator:item.sencond_creator) == ''">
  885. {{getName(item.sencond_creator)}}
  886. </span>
  887. <span v-else>
  888. <img style="height:30px;" :src="setAdminUserES(item.sencond_creator?item.sencond_creator:item.sencond_creator)" alt="" srcset="">
  889. </span>
  890. </td>
  891. <td>{{getTimeTwo(item.last_start_time)}} - {{ getTimeTwo(item.last_end_time) }}</td>
  892. <td>{{item.third_total_time }}</td>
  893. <td>
  894. <span v-if="setAdminUserES(item.third_creator?item.third_creator:item.third_creator) == ''">
  895. {{getName(item.third_creator)}}
  896. </span>
  897. <span v-else>
  898. <img style="height:30px;" :src="setAdminUserES(item.third_creator?item.third_creator:item.third_creator)" alt="" srcset="">
  899. </span>
  900. </td>
  901. <td> {{getTimeTwo(item.last_start_time)}} - {{ getTimeTwo(item.last_end_time) }}</td>
  902. <td>
  903. <span v-if="setAdminUserES(item.last_creator?item.last_creator:item.last_creator) == ''">
  904. {{getName(item.last_creator)}}
  905. </span>
  906. <span v-else>
  907. <img style="height:30px;" :src="setAdminUserES(item.last_creator?item.last_creator:item.last_creator)" alt="" srcset="">
  908. </span>
  909. </td>
  910. </tr>
  911. </table>
  912. </div>
  913. </div>
  914. </div>
  915. </div>
  916. <div hidden="hiddenShowOne">
  917. <div id="print-card-info_one" v-show="hiddenShowOne">
  918. <div>
  919. <h1 style="text-align: center;">空气消毒登记</h1>
  920. <div>
  921. <table border="1" style="text-align: center;margin: auto;border-collapse: collapse;">
  922. <tr>
  923. <td>消毒时间</td>
  924. <td>透析室</td>
  925. <td>累计时间</td>
  926. <td>责任人</td>
  927. <td>通风</td>
  928. <td>负责人</td>
  929. </tr>
  930. <tr v-for="(item,index) in tableDataOne" :key="index">
  931. <td>{{getTimes(item.record_date) }}</td>
  932. <td>{{item.department }}</td>
  933. <td>{{ getTimeTwo(item.first_start_time)}} - {{ getTimeTwo(item.first_end_time) }}</td>
  934. <td>
  935. <span v-if="setAdminUserES(item.first_creator?item.last_creator:item.first_creator) == ''">
  936. {{getName(item.first_creator)}}
  937. </span>
  938. <span v-else>
  939. <img style="height:30px;" :src="setAdminUserES(item.last_creator?item.last_creator:item.last_creator)" alt="" srcset="">
  940. </span>
  941. </td>
  942. </td>
  943. <td> {{getTimeTwo(item.last_start_time)}} - {{ getTimeTwo(item.last_end_time) }}</td>
  944. <td>
  945. <span v-if="setAdminUserES(item.last_creator?item.last_creator:item.last_creator) == ''">
  946. {{getName(item.last_creator)}}
  947. </span>
  948. <span v-else>
  949. <img style="height:30px;" :src="setAdminUserES(item.last_creator?item.last_creator:item.last_creator)" alt="" srcset="">
  950. </span>
  951. </td>
  952. </tr>
  953. </table>
  954. </div>
  955. </div>
  956. </div>
  957. </div>
  958. <!-- 设置 -->
  959. <el-dialog
  960. title="请选择版本"
  961. :visible.sync="setEditDialog"
  962. width="60%">
  963. <span>
  964. <el-radio v-model="air_way" label="1">版本一</el-radio>
  965. <el-radio v-model="air_way" label="2">版本二</el-radio>
  966. </span>
  967. <span slot="footer" class="dialog-footer">
  968. <el-button @click="setEditDialog = false">取 消</el-button>
  969. <el-button type="primary" @click="saveSetAirDisInfect()">保 存</el-button>
  970. </span>
  971. </el-dialog>
  972. <!--版本2新增 -->
  973. <el-dialog
  974. class="centerDialog"
  975. width="1000px"
  976. title="新增空气消毒表"
  977. :visible.sync="newDialogFormVisible">
  978. <el-form :model="form" ref="form" class="airForm" :rules="airRules">
  979. <div style="width: 100%;">
  980. <el-form-item label="创建日期" label-width="110px" required prop="record_date">
  981. <el-date-picker
  982. value-format="yyyy-MM-dd"
  983. v-model="form.record_date"
  984. type="date"
  985. placeholder="选择日期时间">
  986. </el-date-picker>
  987. </el-form-item>
  988. <el-form-item label="消毒科室" label-width="110px" required prop="department">
  989. <el-select v-model="form.department" placeholder="请选择" >
  990. <el-option
  991. v-for="(item,index) in disinfectionOfficeList"
  992. :key="index"
  993. :label="item.name"
  994. :value="item.name">
  995. </el-option>
  996. </el-select>
  997. </el-form-item>
  998. </div>
  999. <div class="form_title">
  1000. <span>
  1001. {{ form.department }}
  1002. </span>
  1003. </div>
  1004. <el-form-item label="消毒液" label-width="110px">
  1005. <!-- <el-input v-model="form.first_disinfection_water"></el-input> -->
  1006. <el-select v-model="form.first_disinfection_water" placeholder="请选择">
  1007. <el-option
  1008. v-for="(item,index) in disInfectionWaterList"
  1009. :key="index"
  1010. :label="item.name"
  1011. :value="item.name">
  1012. </el-option>
  1013. </el-select>
  1014. </el-form-item>
  1015. <el-form-item label="消毒方式" label-width="110px">
  1016. <!-- <el-input v-model="form.first_disinfection_methods"></el-input> -->
  1017. <el-select v-model="form.first_disinfection_methods" placeholder="请选择">
  1018. <el-option
  1019. v-for="(item,index) in DisinfectionMode"
  1020. :key="index"
  1021. :label="item.name"
  1022. :value="item.name">
  1023. </el-option>
  1024. </el-select>
  1025. </el-form-item>
  1026. <el-form-item label="消毒时间(h)" label-width="110px">
  1027. <el-input v-model="form.first_disinfection_time " :disabled="true"></el-input>
  1028. </el-form-item>
  1029. <el-form-item label="开始时间" label-width="110px">
  1030. <el-date-picker
  1031. type="datetime"
  1032. format="yyyy-MM-dd HH:mm"
  1033. value-format="yyyy-MM-dd HH:mm"
  1034. placeholder="选择时间"
  1035. v-model="form.first_start_time"
  1036. @change="firststartime"
  1037. style="width:100%;"
  1038. ></el-date-picker>
  1039. </el-form-item>
  1040. <el-form-item label="结束时间" label-width="110px">
  1041. <el-date-picker
  1042. type="datetime"
  1043. format="yyyy-MM-dd HH:mm"
  1044. value-format="yyyy-MM-dd HH:mm"
  1045. placeholder="选择时间"
  1046. v-model="form.first_end_time"
  1047. @change="firstendtime"
  1048. style="width:100%;"
  1049. ></el-date-picker>
  1050. </el-form-item>
  1051. <el-form-item label="累计时间(h)" label-width="110px">
  1052. <el-input v-model= "form.first_total_time" ></el-input>
  1053. </el-form-item>
  1054. <el-form-item label="检测合格" label-width="110px">
  1055. <div>
  1056. <el-radio v-model="form.first_is_check" label="1">是</el-radio>
  1057. <el-radio v-model="form.first_is_check" label="2">否</el-radio>
  1058. </div>
  1059. </el-form-item>
  1060. <el-form-item label="修改标志" label-width="110px">
  1061. <el-select v-model="form.first_modifications" placeholder="请选择">
  1062. <el-option
  1063. v-for="(item,index) in options"
  1064. :key="index"
  1065. :label="item.name"
  1066. :value="item.id">
  1067. </el-option>
  1068. </el-select>
  1069. </el-form-item>
  1070. <el-form-item label="责任人" label-width="110px">
  1071. <el-select v-model="form.first_creator" placeholder="请选择">
  1072. <el-option
  1073. v-for="(item,index) in docList"
  1074. :key="index"
  1075. :label="item.user_name"
  1076. :value="item.admin_user_id">
  1077. </el-option>
  1078. </el-select>
  1079. </el-form-item>
  1080. <div class="form_title"><span >通风</span></div>
  1081. <el-form-item label="开始时间" label-width="110px">
  1082. <el-date-picker
  1083. type="datetime"
  1084. format="yyyy-MM-dd HH:mm"
  1085. value-format="yyyy-MM-dd HH:mm"
  1086. placeholder="选择时间"
  1087. v-model="form.last_start_time"
  1088. @change="laststarttime"
  1089. style="width:100%;"
  1090. ></el-date-picker>
  1091. </el-form-item>
  1092. <el-form-item label="结束时间" label-width="110px">
  1093. <el-date-picker
  1094. type="datetime"
  1095. format="yyyy-MM-dd HH:mm"
  1096. value-format="yyyy-MM-dd HH:mm"
  1097. placeholder="选择时间"
  1098. v-model="form.last_end_time"
  1099. @change="lastendtime"
  1100. style="width:100%;"
  1101. ></el-date-picker>
  1102. </el-form-item>
  1103. <el-form-item label="累计时间(h)" label-width="110px">
  1104. <el-input v-model= "form.last_total_time" ></el-input>
  1105. </el-form-item>
  1106. <el-form-item label="检测合格" label-width="110px">
  1107. <div>
  1108. <el-radio v-model="form.last_is_check" label="1">是</el-radio>
  1109. <el-radio v-model="form.last_is_check" label="2">否</el-radio>
  1110. </div>
  1111. </el-form-item>
  1112. <el-form-item label="修改标志" label-width="110px" prop="last_modifications">
  1113. <el-select v-model="form.last_modifications" placeholder="请选择">
  1114. <el-option
  1115. v-for="(item,index) in options"
  1116. :key="index"
  1117. :label="item.name"
  1118. :value="item.id">
  1119. </el-option>
  1120. </el-select>
  1121. </el-form-item>
  1122. <el-form-item label="责任人" label-width="110px" prop="creator">
  1123. <el-select v-model="form.last_creator" placeholder="请选择">
  1124. <el-option
  1125. v-for="(item,index) in docList"
  1126. :key="index"
  1127. :label="item.user_name"
  1128. :value="item.admin_user_id">
  1129. </el-option>
  1130. </el-select>
  1131. </el-form-item>
  1132. </el-form>
  1133. <div slot="footer" class="dialog-footer">
  1134. <el-button @click="newDialogFormVisible = false">取 消</el-button>
  1135. <el-button type="primary" @click="saveNewAirWayDisinfect('form')">保 存</el-button>
  1136. </div>
  1137. </el-dialog>
  1138. <el-dialog
  1139. class="centerDialog"
  1140. width="1000px"
  1141. title="编辑空气消毒表"
  1142. :visible.sync="newEditDialogFormVisible">
  1143. <el-form :model="form" ref="form" class="airForm" :rules="airRules">
  1144. <div style="width: 100%;">
  1145. <el-form-item label="创建日期" label-width="110px" required prop="record_date">
  1146. <el-date-picker
  1147. value-format="yyyy-MM-dd"
  1148. v-model="form.record_date"
  1149. type="date"
  1150. placeholder="选择日期时间">
  1151. </el-date-picker>
  1152. </el-form-item>
  1153. <el-form-item label="消毒科室" label-width="110px" required prop="department">
  1154. <el-select v-model="form.department" placeholder="请选择">
  1155. <el-option
  1156. v-for="(item,index) in disinfectionOfficeList"
  1157. :key="index"
  1158. :label="item.name"
  1159. :value="item.name">
  1160. </el-option>
  1161. </el-select>
  1162. </el-form-item>
  1163. </div>
  1164. <div class="form_title">
  1165. <span>
  1166. {{ form.department }}
  1167. </span>
  1168. </div>
  1169. <el-form-item label="消毒液" label-width="110px">
  1170. <el-select v-model="form.first_disinfection_water" placeholder="请选择">
  1171. <el-option
  1172. v-for="(item,index) in disInfectionWaterList"
  1173. :key="index"
  1174. :label="item.name"
  1175. :value="item.name">
  1176. </el-option>
  1177. </el-select>
  1178. </el-form-item>
  1179. <el-form-item label="消毒方式" label-width="110px">
  1180. <el-select v-model="form.first_disinfection_methods" placeholder="请选择">
  1181. <el-option
  1182. v-for="(item,index) in DisinfectionMode"
  1183. :key="index"
  1184. :label="item.name"
  1185. :value="item.name">
  1186. </el-option>
  1187. </el-select>
  1188. </el-form-item>
  1189. <el-form-item label="消毒时间(h)" label-width="110px">
  1190. <el-input v-model="form.first_disinfection_time " :disabled="true"></el-input>
  1191. </el-form-item>
  1192. <el-form-item label="开始时间" label-width="110px">
  1193. <el-date-picker
  1194. type="datetime"
  1195. format="yyyy-MM-dd HH:mm"
  1196. value-format="yyyy-MM-dd HH:mm"
  1197. placeholder="选择时间"
  1198. v-model="form.first_start_time"
  1199. @change="firststartime"
  1200. style="width:100%;"
  1201. ></el-date-picker>
  1202. </el-form-item>
  1203. <el-form-item label="结束时间" label-width="110px">
  1204. <el-date-picker
  1205. type="datetime"
  1206. format="yyyy-MM-dd HH:mm"
  1207. value-format="yyyy-MM-dd HH:mm"
  1208. placeholder="选择时间"
  1209. v-model="form.first_end_time"
  1210. @change="firstendtime"
  1211. style="width:100%;"
  1212. ></el-date-picker>
  1213. </el-form-item>
  1214. <el-form-item label="累计时间(h)" label-width="110px">
  1215. <el-input v-model= "form.first_total_time" ></el-input>
  1216. </el-form-item>
  1217. <el-form-item label="检测合格" label-width="110px">
  1218. <div>
  1219. <el-radio v-model="form.first_is_check" label="1">是</el-radio>
  1220. <el-radio v-model="form.first_is_check" label="2">否</el-radio>
  1221. </div>
  1222. </el-form-item>
  1223. <el-form-item label="修改标志" label-width="110px">
  1224. <el-select v-model="form.first_modifications" placeholder="请选择">
  1225. <el-option
  1226. v-for="(item,index) in options"
  1227. :key="index"
  1228. :label="item.name"
  1229. :value="item.id">
  1230. </el-option>
  1231. </el-select>
  1232. </el-form-item>
  1233. <el-form-item label="责任人" label-width="110px">
  1234. <el-select v-model="form.first_creator" placeholder="请选择">
  1235. <el-option
  1236. v-for="(item,index) in docList"
  1237. :key="index"
  1238. :label="item.user_name"
  1239. :value="item.admin_user_id">
  1240. </el-option>
  1241. </el-select>
  1242. </el-form-item>
  1243. <div class="form_title"><span >通风</span></div>
  1244. <el-form-item label="开始时间" label-width="110px">
  1245. <el-date-picker
  1246. type="datetime"
  1247. format="yyyy-MM-dd HH:mm"
  1248. value-format="yyyy-MM-dd HH:mm"
  1249. placeholder="选择时间"
  1250. v-model="form.last_start_time"
  1251. @change="laststarttime"
  1252. style="width:100%;"
  1253. ></el-date-picker>
  1254. </el-form-item>
  1255. <el-form-item label="结束时间" label-width="110px">
  1256. <el-date-picker
  1257. type="datetime"
  1258. format="yyyy-MM-dd HH:mm"
  1259. value-format="yyyy-MM-dd HH:mm"
  1260. placeholder="选择时间"
  1261. v-model="form.last_end_time"
  1262. @change="lastendtime"
  1263. style="width:100%;"
  1264. ></el-date-picker>
  1265. </el-form-item>
  1266. <el-form-item label="累计时间(h)" label-width="110px">
  1267. <el-input v-model= "form.last_total_time" ></el-input>
  1268. </el-form-item>
  1269. <el-form-item label="检测合格" label-width="110px">
  1270. <div>
  1271. <el-radio v-model="form.last_is_check" label="1">是</el-radio>
  1272. <el-radio v-model="form.last_is_check" label="2">否</el-radio>
  1273. </div>
  1274. </el-form-item>
  1275. <el-form-item label="修改标志" label-width="110px" prop="last_modifications">
  1276. <el-select v-model="form.last_modifications" placeholder="请选择">
  1277. <el-option
  1278. v-for="(item,index) in options"
  1279. :key="index"
  1280. :label="item.name"
  1281. :value="item.id">
  1282. </el-option>
  1283. </el-select>
  1284. </el-form-item>
  1285. <el-form-item label="责任人" label-width="110px" prop="creator">
  1286. <el-select v-model="form.last_creator" placeholder="请选择">
  1287. <el-option
  1288. v-for="(item,index) in docList"
  1289. :key="index"
  1290. :label="item.user_name"
  1291. :value="item.admin_user_id">
  1292. </el-option>
  1293. </el-select>
  1294. </el-form-item>
  1295. </el-form>
  1296. <div slot="footer" class="dialog-footer">
  1297. <el-button @click="newEditDialogFormVisible = false">取 消</el-button>
  1298. <el-button type="primary" @click="updateNewAirWayDisinfect('form')">保 存</el-button>
  1299. </div>
  1300. </el-dialog>
  1301. </div>
  1302. </div>
  1303. </template>
  1304. <script>
  1305. import print from "print-js";
  1306. import BreadCrumb from '@/xt_pages/components/bread-crumb'
  1307. import { getAllDoctorList,saveNewAirDisinfect,getNewAirDisinfectList,getNewAirDisinfectByIdList,updateNewAirDisinfect,deleteNewAirDisInfect,getAirDisinfectLongTime,saveSetAirDisInfect,getSetAirDisInfectById,saveNewAirWayDisinfect,getNewAirWayDisinfectList,getAirDisinfectWayLongTime,getNewAirWayDisinfectByIdList,updateNewAirWayDisinfect,deleteNewAirWayDisInfect} from "@/api/device"
  1308. import { uParseTime } from '@/utils/tools'
  1309. const moment = require('moment')
  1310. import { getManageMentDataConfig } from '@/utils/data'
  1311. export default {
  1312. name: 'airDisinfect',
  1313. components: {
  1314. BreadCrumb
  1315. },
  1316. data() {
  1317. return {
  1318. crumbs: [
  1319. { path: false, name: '院感管理' },
  1320. { path: false, name: '透析室空气消毒记录表' }
  1321. ],
  1322. dialogFormVisible:false,
  1323. editDialogFormVisible:false,
  1324. newDialogFormVisible:false,
  1325. newEditDialogFormVisible:false,
  1326. setEditDialog:false,
  1327. startvalue:'',
  1328. endvalue:'',
  1329. form: {
  1330. id:0,
  1331. record_date:moment(new Date()).add('year',0).format("YYYY-MM-DD"), //创建日期
  1332. first_disinfection_water:"",// 消毒液
  1333. first_disinfection_methods:"",//消毒方式
  1334. first_disinfection_time:'',//消毒时长
  1335. first_start_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//开始时间
  1336. first_end_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//结束时间
  1337. first_total_time:"",//累计时间
  1338. first_is_check:"1",//检验合格
  1339. first_modifications:"",//修改标志
  1340. first_creator:this.$store.getters.xt_user.user.id,//第一责任人
  1341. sencond_disinfection_water:"",// 消毒液
  1342. sencond_disinfection_methods:"",//消毒方式
  1343. sencond_disinfection_time:"",//消毒时长
  1344. sencond_start_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//开始时间
  1345. sencond_end_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//结束时间
  1346. sencond_total_time:"",//累计时间
  1347. sencond_is_check:"1",//检验合格
  1348. sencond_modifications:"",//修改标志
  1349. sencond_creator:this.$store.getters.xt_user.user.id,//第一责任人
  1350. third_disinfection_water:"",// 消毒液
  1351. third_disinfection_methods:"",//消毒方式
  1352. third_disinfection_time:'',//消毒时长
  1353. third_start_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//开始时间
  1354. third_end_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//结束时间
  1355. third_total_time:"",//累计时间
  1356. third_is_check:"1",//检验合格
  1357. third_modifications:"",//修改标志
  1358. third_creator:this.$store.getters.xt_user.user.id,//第一责任人
  1359. last_start_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//开始时间
  1360. last_end_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//结束时间
  1361. last_disinfection_time:"",//消毒时长
  1362. last_total_time:"",//累计时间
  1363. last_is_check:"1",//检验合格
  1364. last_modifications:"",//修改标志
  1365. last_creator:this.$store.getters.xt_user.user.id,//第一责任人
  1366. department:"",
  1367. storey:"",
  1368. },
  1369. docList:[],
  1370. options:[
  1371. {id:1,name:"正常"},
  1372. {id:2,name:"撤销"}
  1373. ],
  1374. airRules: {
  1375. created_time:[{required:true,message:"请选择创建时间",trigger:"blur"}],
  1376. start_time:[{required:true,message:"请选择开始时间",trigger:"blur"}],
  1377. end_time:[{required:true,message:"请选择结束时间",trigger:"blur"}],
  1378. department:[{required:true,message:"请选择消毒科室",trigger:'blur'}],
  1379. },
  1380. limit:10,
  1381. page:1,
  1382. total:0,
  1383. tableData: [],
  1384. hiddenShow:false,
  1385. hiddenShowOne:false,
  1386. // disInfectionWaterList:[
  1387. // { id: 1, name: "0.22%季铵盐" },
  1388. // { id: 2, name: "500mg/l含氯消毒剂" },
  1389. // { id: 3, name: "1000mg/l含氯消毒剂" },
  1390. // { id: 4, name: "1500mg/l含氯消毒剂" },
  1391. // { id: 5, name: "消毒湿巾" },
  1392. // { id:6, name:"75%酒精"}
  1393. // ],
  1394. disInfectionWaterList:[],
  1395. // DisinfectionMode: [
  1396. // { id: 1, name: "紫外线" },
  1397. // { id: 2, name: "等离子" },
  1398. // { id: 3, name: "臭氧" },
  1399. // {id:4,name:"含氯剂喷洒500mg/L"},
  1400. // {id:5,name:"含氯剂喷洒1000mg/L"},
  1401. // {id:6,name:"通风"}
  1402. // ],
  1403. DisinfectionMode:[],
  1404. operators: [],
  1405. operatorMaps:{},
  1406. firststart:'',
  1407. firstend:'',
  1408. first_total_time:0,
  1409. sencond_total_time:0,
  1410. third_total_time:0,
  1411. last_total_time:0,
  1412. air_way:"2",
  1413. disinfectionOfficeList:[],
  1414. tableDataOne:[],
  1415. art_way_one:0,
  1416. storeyList:[],
  1417. storey:"",
  1418. }
  1419. },
  1420. created(){
  1421. var disinfection_fluid = getManageMentDataConfig('management', 'disinfection_fluid')
  1422. for(let i=0;i<disinfection_fluid.length;i++){
  1423. this.disInfectionWaterList.push(disinfection_fluid[i])
  1424. }
  1425. var disinfection_methods = getManageMentDataConfig('management', 'disinfection_methods')
  1426. for(let i=0;i<disinfection_methods.length;i++){
  1427. this.DisinfectionMode.push(disinfection_methods[i])
  1428. }
  1429. var disinfection_offices = getManageMentDataConfig('management', 'disinfection_office')
  1430. for(let i=0;i<disinfection_offices.length;i++){
  1431. this.disinfectionOfficeList.push(disinfection_offices[i])
  1432. }
  1433. var storey = getManageMentDataConfig('management', 'storey')
  1434. for(let i=0;i<storey.length;i++){
  1435. this.storeyList.push(storey[i])
  1436. }
  1437. this.getAllDoctorList()
  1438. this.getNewAirDisinfectList()
  1439. this.getNewAirWayDisinfectList()
  1440. var time=moment(this.form.first_start_time).format("HH:mm");
  1441. this.getSetAirDisInfectById()
  1442. },
  1443. computed:{
  1444. firstdisinfection_time (){
  1445. let firststart= Date.parse(new Date(this.form.first_start_time))
  1446. let firstend= Date.parse(new Date(this.form.first_end_time))
  1447. let time_interval = ((firstend - firststart)/(60*60*1000)).toFixed(1)
  1448. return time_interval
  1449. },
  1450. senconddisinfection_time (){
  1451. const sencondstart= Date.parse(new Date(this.form.sencond_start_time))
  1452. const sencondend= Date.parse(new Date(this.form.sencond_end_time))
  1453. const time_interval = ((sencondend - sencondstart)/(60*60*1000)).toFixed(1)
  1454. return time_interval
  1455. },
  1456. thirddisinfection_time (){
  1457. const thirdstart= Date.parse(new Date(this.form.third_start_time))
  1458. const thirdend= Date.parse(new Date(this.form.third_end_time))
  1459. const time_interval = ((thirdend - thirdstart)/(60*60*1000)).toFixed(1)
  1460. return time_interval
  1461. },
  1462. lastdisinfection_time(){
  1463. const lasttart= Date.parse(new Date(this.form.last_start_time))
  1464. const lastend= Date.parse(new Date(this.form.last_end_time))
  1465. const time_interval = ((lastend - lasttart)/(60*60*1000)).toFixed(1)
  1466. return time_interval
  1467. }
  1468. },
  1469. methods:{
  1470. changeStore(val){
  1471. this.getNewAirDisinfectList()
  1472. },
  1473. changeStorey(val){
  1474. console.log("val2o2o2o",val)
  1475. getAirDisinfectLongTime(val).then(response=>{
  1476. if(response.data.state == 1){
  1477. var list = response.data.data.list
  1478. var first_total_time = 0
  1479. var sencond_total_time = 0
  1480. var third_total_time = 0
  1481. var last_total_time = 0
  1482. if(list!=null && list.length>0){
  1483. for(let i=0;i<list.length;i++){
  1484. first_total_time += parseFloat(list[i].first_total_time)
  1485. sencond_total_time +=parseFloat(list[i].sencond_total_time)
  1486. third_total_time +=parseFloat(list[i].third_total_time)
  1487. last_total_time +=parseFloat(list[i].last_total_time)
  1488. }
  1489. this.form.first_total_time = ""
  1490. this.form.first_total_time = first_total_time
  1491. this.first_total_time = first_total_time
  1492. this.form.sencond_total_time = ""
  1493. this.form.sencond_total_time = sencond_total_time
  1494. this.sencond_total_time = sencond_total_time
  1495. this.form.third_total_time =""
  1496. this.form.third_total_time = third_total_time
  1497. this.third_total_time = third_total_time
  1498. this.form.last_total_time =""
  1499. this.form.last_total_time = last_total_time
  1500. this.last_total_time = last_total_time
  1501. }
  1502. }
  1503. })
  1504. },
  1505. AddCard(){
  1506. console.log("storeywowoowow",this.form.storey)
  1507. if(this.form.storey!=""){
  1508. console.log("进来2222")
  1509. getAirDisinfectWayLongTime(this.form.department).then(response=>{
  1510. if(response.data.state == 1){
  1511. var list = response.data.data.list
  1512. var first_total_time = 0
  1513. var last_total_time = 0
  1514. if(list!=null && list.length>0){
  1515. for(let i=0;i<list.length;i++){
  1516. first_total_time += parseFloat(list[i].first_total_time)
  1517. last_total_time +=parseFloat(list[i].last_total_time)
  1518. }
  1519. this.form.first_total_time = ""
  1520. this.form.first_total_time = first_total_time
  1521. this.first_total_time = first_total_time
  1522. this.form.last_total_time =""
  1523. this.form.last_total_time = last_total_time
  1524. this.last_total_time = last_total_time
  1525. }
  1526. this.dialogFormVisible = true
  1527. }
  1528. })
  1529. }else{
  1530. console.log("进来11111")
  1531. this.dialogFormVisible = true
  1532. }
  1533. },
  1534. AddCardOne(){
  1535. getAirDisinfectWayLongTime(this.form.department).then(response=>{
  1536. if(response.data.state == 1){
  1537. var list = response.data.data.list
  1538. var first_total_time = 0
  1539. var last_total_time = 0
  1540. if(list!=null && list.length>0){
  1541. for(let i=0;i<list.length;i++){
  1542. first_total_time += parseFloat(list[i].first_total_time)
  1543. last_total_time +=parseFloat(list[i].last_total_time)
  1544. }
  1545. this.form.first_total_time = ""
  1546. this.form.first_total_time = first_total_time
  1547. this.first_total_time = first_total_time
  1548. this.form.last_total_time =""
  1549. this.form.last_total_time = last_total_time
  1550. this.last_total_time = last_total_time
  1551. }
  1552. this.newDialogFormVisible = true
  1553. }
  1554. })
  1555. },
  1556. handleSizeChange(val) {
  1557. this.limit = val;
  1558. this.getNewAirDisinfectList()
  1559. },
  1560. handleCurrentChange(val) {
  1561. this.page = val;
  1562. this.getNewAirDisinfectList()
  1563. },
  1564. handleSizeChangeOne(val) {
  1565. this.limit = val;
  1566. this.getNewAirWayDisinfectList()
  1567. },
  1568. handleCurrentChangeOne(val) {
  1569. this.page = val;
  1570. this.getNewAirWayDisinfectList()
  1571. },
  1572. changeStartime(val){
  1573. this.getNewAirDisinfectList()
  1574. this.getNewAirWayDisinfectList()
  1575. },
  1576. changeEndtime(){
  1577. this.getNewAirDisinfectList()
  1578. this.getNewAirWayDisinfectList()
  1579. },
  1580. getAllDoctorList(){
  1581. getAllDoctorList().then(response=>{
  1582. if(response.data.state == 1){
  1583. var list = response.data.data.list
  1584. console.log("list222222",list)
  1585. this.docList = list
  1586. this.operators = response.data.data.operators
  1587. if (this.operators.length > 0) {
  1588. var operatorsLen = this.operators.length
  1589. for (var index = 0; index < operatorsLen; index++) {
  1590. this.$set(
  1591. this.operatorMaps,
  1592. this.operators[index].id,
  1593. this.operators[index]
  1594. )
  1595. }
  1596. }
  1597. }
  1598. })
  1599. },
  1600. saveNewAirDisinfect(formName){
  1601. this.$refs[formName].validate((valid)=>{
  1602. if(valid){
  1603. if(this.form.first_is_check!=""){
  1604. this.form.first_is_check = parseInt(this.form.first_is_check)
  1605. }else{
  1606. this.form.first_is_check = 0
  1607. }
  1608. if( this.form.sencond_is_check!=""){
  1609. this.form.sencond_is_check = parseInt(this.form.sencond_is_check)
  1610. }else{
  1611. this.form.sencond_is_check = ""
  1612. }
  1613. if( this.form.third_is_check!=""){
  1614. this.form.third_is_check = parseInt(this.form.third_is_check)
  1615. }else{
  1616. this.form.third_is_check = 0
  1617. }
  1618. if(this.form.last_is_check!=""){
  1619. this.form.last_is_check = parseInt(this.form.last_is_check)
  1620. }else{
  1621. this.form.last_is_check = 0
  1622. }
  1623. if(this.form.first_modifications!=""){
  1624. this.form.first_modifications = parseInt(this.form.first_modifications)
  1625. }else{
  1626. this.form.first_modifications =0
  1627. }
  1628. if(this.form.sencond_modifications!=""){
  1629. this.form.sencond_modifications = parseInt(this.form.sencond_modifications)
  1630. }else{
  1631. this.form.sencond_modifications =0
  1632. }
  1633. if(this.form.third_modifications!=""){
  1634. this.form.third_modifications = parseInt(this.form.third_modifications)
  1635. }else{
  1636. this.form.third_modifications= 0
  1637. }
  1638. if(this.form.last_modifications!=""){
  1639. this.form.last_modifications = parseInt(this.form.last_modifications)
  1640. }else{
  1641. this.form.last_modifications= 0
  1642. }
  1643. this.form.first_total_time = this.form.first_total_time.toString()
  1644. this.form.sencond_total_time =this.form.sencond_total_time.toString()
  1645. this.form.third_total_time = this.form.third_total_time.toString()
  1646. this.form.last_total_time = this.form.last_total_time.toString()
  1647. console.log("this232322323",this.form)
  1648. saveNewAirDisinfect(this.form).then(response=>{
  1649. if(response.data.state == 1 ){
  1650. var disinfect = response.data.data.disinfect
  1651. this.$message.success("保存成功!")
  1652. this.dialogFormVisible = false
  1653. this.getNewAirDisinfectList()
  1654. this.$refs[formName].resetFields();
  1655. }
  1656. })
  1657. }
  1658. })
  1659. },
  1660. getNewAirDisinfectList(){
  1661. var params = {
  1662. start_time:this.startvalue,
  1663. end_time:this.endvalue,
  1664. limit:this.limit,
  1665. page:this.page,
  1666. storey:this.storey,
  1667. }
  1668. console.log("params2332233232w",params)
  1669. getNewAirDisinfectList(params).then(response=>{
  1670. if(response.data.state == 1){
  1671. var list = response.data.data.list
  1672. this.tableData = list
  1673. var total = response.data.data.total
  1674. this.total =total
  1675. }
  1676. })
  1677. },
  1678. getNewAirWayDisinfectList(){
  1679. var params = {
  1680. start_time:this.startvalue,
  1681. end_time:this.endvalue,
  1682. limit:this.limit,
  1683. page:this.page,
  1684. }
  1685. getNewAirWayDisinfectList(params).then(response=>{
  1686. if(response.data.state == 1){
  1687. var list = response.data.data.list
  1688. this.tableDataOne = list
  1689. var total = response.data.data.total
  1690. this.total =total
  1691. }
  1692. })
  1693. },
  1694. getTimes(time) {
  1695. return uParseTime(time, '{y}-{m}-{d}')
  1696. },
  1697. getTimeTwo(time) {
  1698. return uParseTime(time, '{h}:{i}')
  1699. },
  1700. getTimeThree(time) {
  1701. return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
  1702. },
  1703. getName(creator){
  1704. var name = ""
  1705. for(let i=0;i<this.docList.length;i++){
  1706. if(creator == this.docList[i].admin_user_id){
  1707. name = this.docList[i].user_name
  1708. }
  1709. }
  1710. return name
  1711. },
  1712. handleEdit(id){
  1713. getNewAirDisinfectByIdList(id).then(response=>{
  1714. if(response.data.state == 1){
  1715. var list = response.data.data.list
  1716. console.log("list",list)
  1717. this.form.id = list.id
  1718. this.form.record_date = this.getTimes(list.record_date)
  1719. this.form.first_disinfection_water = list.first_disinfection_water?list.first_disinfection_water:""
  1720. this.form.first_disinfection_methods = list.first_disinfection_methods?list.first_disinfection_methods:""
  1721. this.form.first_disinfection_time = list.first_disinfection_time?list.first_disinfection_time:""
  1722. this.form.first_start_time = this.getTimeThree(list.first_start_time)
  1723. this.form.first_end_time = this.getTimeThree(list.first_end_time)
  1724. this.form.first_total_time = list.first_total_time?list.first_total_time:""
  1725. this.form.first_is_check = list.first_is_check.toString()
  1726. this.form.first_modifications = list.first_modifications?list.first_modifications:""
  1727. this.form.first_creator = list.first_creator
  1728. this.form.sencond_disinfection_water = list.sencond_disinfection_water?list.sencond_disinfection_water:""
  1729. this.form.sencond_disinfection_methods = list.sencond_disinfection_methods? list.sencond_disinfection_methods:""
  1730. this.form.sencond_disinfection_time = list.sencond_disinfection_time?list.sencond_disinfection_time:""
  1731. this.form.sencond_start_time = this.getTimeThree(list.sencond_start_time)
  1732. this.form.sencond_end_time = this.getTimeThree(list.sencond_end_time)
  1733. this.form.sencond_total_time = list.sencond_total_time?list.sencond_total_time:""
  1734. this.form.sencond_is_check = list.sencond_is_check.toString()
  1735. this.form.sencond_modifications = list.sencond_modifications?list.sencond_modifications:""
  1736. this.form.sencond_creator = list.sencond_creator
  1737. this.form.third_disinfection_water = list.third_disinfection_water?list.third_disinfection_water:""
  1738. this.form.third_disinfection_methods = list.third_disinfection_methods?list.third_disinfection_methods:""
  1739. this.form.third_disinfection_time = list.third_disinfection_time?list.third_disinfection_time:""
  1740. this.form.third_start_time =this.getTimeThree(list.third_start_time)
  1741. this.form.third_end_time = this.getTimeThree(list.third_end_time)
  1742. this.form.third_total_time = list.third_total_time?list.third_total_time:""
  1743. this.form.third_is_check = list.third_is_check.toString()
  1744. this.form.third_modifications = list.third_modifications?list.third_modifications:""
  1745. this.form.third_creator = list.third_creator
  1746. this.form.last_start_time = this.getTimeThree(list.last_start_time)
  1747. this.form.last_end_time = this.getTimeThree(list.last_end_time)
  1748. this.form.last_total_time = list.last_total_time?list.last_total_time:""
  1749. this.form.last_is_check = list.last_is_check.toString()
  1750. this.form.last_modifications = list.last_modifications?list.last_modifications:""
  1751. this.form.last_creator = list.last_creator
  1752. this.form.storey = list.storey
  1753. this.editDialogFormVisible = true
  1754. }
  1755. })
  1756. },
  1757. handleEditOne(id){
  1758. getNewAirWayDisinfectByIdList(id).then(response=>{
  1759. if(response.data.state == 1){
  1760. var list = response.data.data.list
  1761. console.log("list",list)
  1762. this.form.id = list.id
  1763. this.form.record_date = this.getTimes(list.record_date)
  1764. this.form.first_disinfection_water = list.first_disinfection_water?list.first_disinfection_water:""
  1765. this.form.first_disinfection_methods = list.first_disinfection_methods?list.first_disinfection_methods:""
  1766. this.form.first_disinfection_time = list.first_disinfection_time?list.first_disinfection_time:""
  1767. this.form.first_start_time = this.getTimeThree(list.first_start_time)
  1768. this.form.first_end_time = this.getTimeThree(list.first_end_time)
  1769. this.form.first_total_time = list.first_total_time?list.first_total_time:""
  1770. this.form.first_is_check = list.first_is_check.toString()
  1771. this.form.first_modifications = list.first_modifications?list.first_modifications:""
  1772. this.form.first_creator = list.first_creator
  1773. this.form.last_start_time = this.getTimeThree(list.last_start_time)
  1774. this.form.last_end_time = this.getTimeThree(list.last_end_time)
  1775. this.form.last_total_time = list.last_total_time?list.last_total_time:""
  1776. this.form.last_is_check = list.last_is_check.toString()
  1777. this.form.last_modifications = list.last_modifications?list.last_modifications:""
  1778. this.form.last_creator = list.last_creator
  1779. this.form.department = list.department
  1780. this.newEditDialogFormVisible = true
  1781. }
  1782. })
  1783. },
  1784. updateAirDisinfect(formName){
  1785. this.$refs[formName].validate((valid)=>{
  1786. if(valid){
  1787. if(this.form.first_is_check!=""){
  1788. this.form.first_is_check = parseInt(this.form.first_is_check)
  1789. }else{
  1790. this.form.first_is_check = 0
  1791. }
  1792. if( this.form.sencond_is_check!=""){
  1793. this.form.sencond_is_check = parseInt(this.form.sencond_is_check)
  1794. }else{
  1795. this.form.sencond_is_check = ""
  1796. }
  1797. if( this.form.third_is_check!=""){
  1798. this.form.third_is_check = parseInt(this.form.third_is_check)
  1799. }else{
  1800. this.form.third_is_check = 0
  1801. }
  1802. if(this.form.last_is_check!=""){
  1803. this.form.last_is_check = parseInt(this.form.last_is_check)
  1804. }else{
  1805. this.form.last_is_check = 0
  1806. }
  1807. if(this.form.first_modifications!=""){
  1808. this.form.first_modifications = parseInt(this.form.first_modifications)
  1809. }else{
  1810. this.form.first_modifications =0
  1811. }
  1812. if(this.form.sencond_modifications!=""){
  1813. this.form.sencond_modifications = parseInt(this.form.sencond_modifications)
  1814. }else{
  1815. this.form.sencond_modifications =0
  1816. }
  1817. if(this.form.third_modifications!=""){
  1818. this.form.third_modifications = parseInt(this.form.third_modifications)
  1819. }else{
  1820. this.form.third_modifications= 0
  1821. }
  1822. if(this.form.last_modifications!=""){
  1823. this.form.last_modifications = parseInt(this.form.last_modifications)
  1824. }else{
  1825. this.form.last_modifications= 0
  1826. }
  1827. console.log("23333333333333",this.form.first_total_time)
  1828. if( this.form.first_total_time > 0){
  1829. this.form.first_total_time = this.form.first_total_time.toString()
  1830. }
  1831. if( this.form.sencond_total_time > 0){
  1832. this.form.sencond_total_time = this.form.sencond_total_time.toString()
  1833. }
  1834. if( this.form.third_total_time > 0){
  1835. this.form.third_total_time = this.form.third_total_time.toString()
  1836. }
  1837. if(this.form.last_total_time >0){
  1838. this.form.last_total_time = this.form.last_total_time.toString()
  1839. }
  1840. console.log("form23333333333333333wo",this.form)
  1841. updateNewAirDisinfect(this.form).then(response=>{
  1842. if(response.data.state == 1){
  1843. var disinfect = response.data.data.disinfect
  1844. this.editDialogFormVisible = false
  1845. this.getNewAirDisinfectList()
  1846. this.$refs[formName].resetFields()
  1847. }
  1848. })
  1849. }
  1850. })
  1851. },
  1852. handleDelete(id){
  1853. deleteNewAirDisInfect(id).then(response=>{
  1854. if(response.data.state == 1){
  1855. var msg = response.data.data.msg
  1856. this.$message.success("删除成功!")
  1857. this.getNewAirDisinfectList()
  1858. }
  1859. })
  1860. },
  1861. handleDeleteOne(id){
  1862. deleteNewAirWayDisInfect(id).then(response=>{
  1863. var msg = response.data.data.msg
  1864. this.$message.success("删除成功!")
  1865. this.getNewAirWayDisinfectList()
  1866. })
  1867. },
  1868. printCard() {
  1869. this.hiddenShow = true;
  1870. var ptime = Math.round(new Date().getTime() / 1000);
  1871. this.print_time = uParseTime(ptime, "{y}年{m}月{d}日");
  1872. const style =
  1873. "@media print { .print_main_content { background-color: white; width:960px; margin:0 auto; padding: 0 0 20px 0;font-size:15px } .print_main_content .order_title { text-align: center; font-size: 15px; line-height: 50px;} .print_main_content table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px;font-size:15px } .print_main_content table tbody tr td { border: 1px solid; text-align: center; padding: 10px 8px;font-size:15px } .td_proj_title { font-size: 15px; line-height: 25px;} .td_proj_content { font-size: 15px; line-height: 25px; } .td_align_left { text-align: left; } .print_footnote_panel { font-size: 15px; line-height: 40px; } .print_footnote_panel .proj { display: inline-block; width: 49%; } .print_footnote_panel .proj}";
  1874. setTimeout(() => {
  1875. printJS({
  1876. printable: "print-card-info",
  1877. type: "html",
  1878. style: style,
  1879. scanStyles: false
  1880. });
  1881. }, 1);
  1882. },
  1883. printCardOne() {
  1884. this.hiddenShowOne = true;
  1885. console.log("hiddenShowOne",this.hiddenShowOne)
  1886. var ptime = Math.round(new Date().getTime() / 1000);
  1887. this.print_time = uParseTime(ptime, "{y}年{m}月{d}日");
  1888. const style =
  1889. "@media print { .print_main_content { background-color: white; width:960px; margin:0 auto; padding: 0 0 20px 0;font-size:15px } .print_main_content .order_title { text-align: center; font-size: 15px; line-height: 50px;} .print_main_content table { width: 100%; border: 1px solid; border-collapse: collapse; padding: 2px;font-size:15px } .print_main_content table tbody tr td { border: 1px solid; text-align: center; padding: 10px 8px;font-size:15px } .td_proj_title { font-size: 15px; line-height: 25px;} .td_proj_content { font-size: 15px; line-height: 25px; } .td_align_left { text-align: left; } .print_footnote_panel { font-size: 15px; line-height: 40px; } .print_footnote_panel .proj { display: inline-block; width: 49%; } .print_footnote_panel .proj}";
  1890. setTimeout(() => {
  1891. printJS({
  1892. printable: "print-card-info_one",
  1893. type: "html",
  1894. style: style,
  1895. scanStyles: false
  1896. });
  1897. }, 1);
  1898. },
  1899. setAdminUserES(id) {
  1900. if (id === 0) {
  1901. return ''
  1902. }
  1903. var user_name = ""
  1904. for(let i=0;i<this.operators.length;i++){
  1905. if(id == this.operators[i].admin_user_id){
  1906. user_name = this.operators[i].url
  1907. }
  1908. }
  1909. return user_name
  1910. // if (id in this.operatorMaps) {
  1911. // return this.operatorMaps[id].url
  1912. // } else {
  1913. // return ''
  1914. // }
  1915. },
  1916. firststartime(val){
  1917. this.form.first_start_time = val
  1918. this.form.first_disinfection_time = this.firstdisinfection_time
  1919. },
  1920. firstendtime(val){
  1921. this.form.first_disinfection_time = this.firstdisinfection_time
  1922. this.form.first_end_time = val
  1923. this.form.first_total_time = parseFloat(this.first_total_time ) + parseFloat(this.form.first_disinfection_time)
  1924. },
  1925. sencondstarttime(val){
  1926. this.form.sencond_start_time = val
  1927. this.form.sencond_disinfection_time = this.senconddisinfection_time
  1928. },
  1929. sencondendtime(val){
  1930. this.form.sencond_end_time = val
  1931. this.form.sencond_disinfection_time = this.senconddisinfection_time
  1932. this.form.sencond_total_time = parseFloat(this.sencond_total_time ) + parseFloat(this.form.sencond_disinfection_time)
  1933. },
  1934. thirdstarttime(val){
  1935. this.form.third_start_time = val
  1936. this.form.third_disinfection_time = this.thirddisinfection_time
  1937. },
  1938. thirdendtime(val){
  1939. this.form.third_end_time = val
  1940. this.form.third_disinfection_time = this.thirddisinfection_time
  1941. this.form.third_total_time = parseFloat(this.third_total_time ) + parseFloat(this.form.third_disinfection_time)
  1942. },
  1943. laststarttime(val){
  1944. this.form.last_start_time = val
  1945. this.form.last_disinfection_time = this.lastdisinfection_time
  1946. },
  1947. lastendtime(val){
  1948. this.form.last_end_time = val
  1949. this.form.last_disinfection_time = this.lastdisinfection_time
  1950. this.form.last_total_time = parseFloat(this.last_total_time ) + parseFloat(this.form.last_disinfection_time)
  1951. },
  1952. toSeach(){
  1953. this.getNewAirDisinfectList()
  1954. this,getNewAirWayDisinfectList()
  1955. },
  1956. setAirDisInfect(){
  1957. getSetAirDisInfectById().then(response=>{
  1958. if(response.data.state == 1){
  1959. var airset = response.data.data.airset
  1960. if(airset!=undefined){
  1961. this.art_way_one = airset.air_way.toString()
  1962. this.setEditDialog = true
  1963. }
  1964. }
  1965. })
  1966. },
  1967. getSetAirDisInfectById(){
  1968. getSetAirDisInfectById().then(response=>{
  1969. if(response.data.state == 1){
  1970. var airset = response.data.data.airset
  1971. if(airset!=undefined){
  1972. this.art_way_one = airset.air_way.toString()
  1973. }
  1974. }
  1975. })
  1976. },
  1977. saveSetAirDisInfect(){
  1978. var params = {
  1979. air_way:parseInt(this.air_way)
  1980. }
  1981. saveSetAirDisInfect(params).then(response=>{
  1982. if(response.data.state == 1){
  1983. var airSetting = response.data.data.airSetting
  1984. this.$message.success("保存成功")
  1985. this.setEditDialog = false
  1986. this.getSetAirDisInfectById()
  1987. }
  1988. })
  1989. },
  1990. saveNewAirWayDisinfect(formName){
  1991. this.$refs[formName].validate((valid)=>{
  1992. if(valid){
  1993. if(this.form.first_is_check!=""){
  1994. this.form.first_is_check = parseInt(this.form.first_is_check)
  1995. }else{
  1996. this.form.first_is_check = 0
  1997. }
  1998. if(this.form.last_is_check!=""){
  1999. this.form.last_is_check = parseInt(this.form.last_is_check)
  2000. }else{
  2001. this.form.last_is_check = 0
  2002. }
  2003. if(this.form.first_modifications!=""){
  2004. this.form.first_modifications = parseInt(this.form.first_modifications)
  2005. }else{
  2006. this.form.first_modifications =0
  2007. }
  2008. if(this.form.last_modifications!=""){
  2009. this.form.last_modifications = parseInt(this.form.last_modifications)
  2010. }else{
  2011. this.form.last_modifications= 0
  2012. }
  2013. this.form.first_total_time = this.form.first_total_time.toString()
  2014. this.form.last_total_time = this.form.last_total_time.toString()
  2015. console.log("this232322323",this.form)
  2016. saveNewAirWayDisinfect(this.form).then(response=>{
  2017. var disinfect = response.data.data.disinfect
  2018. this.$message.success("保存成功!")
  2019. this.newDialogFormVisible = false
  2020. this.getNewAirWayDisinfectList()
  2021. this.$refs[formName].resetFields();
  2022. })
  2023. }
  2024. })
  2025. },
  2026. updateNewAirWayDisinfect(formName){
  2027. this.$refs[formName].validate((valid)=>{
  2028. if(valid){
  2029. if(this.form.first_is_check!=""){
  2030. this.form.first_is_check = parseInt(this.form.first_is_check)
  2031. }else{
  2032. this.form.first_is_check = 0
  2033. }
  2034. if(this.form.last_is_check!=""){
  2035. this.form.last_is_check = parseInt(this.form.last_is_check)
  2036. }else{
  2037. this.form.last_is_check = 0
  2038. }
  2039. if(this.form.first_modifications!=""){
  2040. this.form.first_modifications = parseInt(this.form.first_modifications)
  2041. }else{
  2042. this.form.first_modifications =0
  2043. }
  2044. if(this.form.last_modifications!=""){
  2045. this.form.last_modifications = parseInt(this.form.last_modifications)
  2046. }else{
  2047. this.form.last_modifications= 0
  2048. }
  2049. if( this.form.first_total_time > 0){
  2050. this.form.first_total_time = this.form.first_total_time.toString()
  2051. }
  2052. if(this.form.last_total_time >0){
  2053. this.form.last_total_time = this.form.last_total_time.toString()
  2054. }
  2055. console.log("form23333333333333333wo",this.form)
  2056. updateNewAirWayDisinfect(this.form).then(response=>{
  2057. if(response.data.state == 1){
  2058. var disinfect = response.data.data.disinfect
  2059. this.newEditDialogFormVisible = false
  2060. this.getNewAirWayDisinfectList()
  2061. this.$refs[formName].resetFields()
  2062. }
  2063. })
  2064. }
  2065. })
  2066. }
  2067. },
  2068. }
  2069. </script>
  2070. <style lang="scss" scoped>
  2071. .airForm{
  2072. display: flex;
  2073. justify-content: space-between;
  2074. flex-wrap: wrap;
  2075. .el-form-item{
  2076. width:33%;
  2077. }
  2078. .el-date-editor.el-input, .el-date-editor.el-input__inner{
  2079. width: 200px;
  2080. }
  2081. .el-input{
  2082. width: 200px;
  2083. }
  2084. .el-select{
  2085. width: 200px;
  2086. }
  2087. .form_title{
  2088. width: 100%;
  2089. margin-bottom: 10px;
  2090. span{
  2091. font-size: 20px;
  2092. font-weight: bold;
  2093. }
  2094. }
  2095. }
  2096. </style>
  2097. <style lang="scss">
  2098. #main-contain{
  2099. .app-container{
  2100. // display: flex;
  2101. // justify-content: space-between;
  2102. // flex-wrap: wrap;
  2103. .tab_air{
  2104. // 斜杠表格
  2105. .el-table{
  2106. th{
  2107. padding: 0px !important;
  2108. }
  2109. tr:first-of-type th:first-of-type div.cell {
  2110. text-align: right;/*上边文字靠右*/
  2111. }
  2112. tr:last-of-type th:first-of-type div.cell {
  2113. text-align: left;/*下边文字靠左*/
  2114. }
  2115. tr:first-of-type th:first-of-type:before {
  2116. content: "";
  2117. position: absolute;
  2118. width: 1px;
  2119. height: 100px;/*斜线的长度*/
  2120. top: 0;
  2121. left: 75px;
  2122. background-color: rgb(172, 171, 171);
  2123. opacity: 1.2;
  2124. display: block;
  2125. transform: rotate(-47deg);/*调整斜线的角度*/
  2126. -webkit-transform-origin: top;
  2127. transform-origin: top;
  2128. }
  2129. tr:nth-of-type(2) th:nth-of-type(1):before{
  2130. content: "";
  2131. position: absolute;
  2132. width: 1px;
  2133. height: 80px;/*斜线的长度*/
  2134. top: 0;
  2135. left: 100px;
  2136. background-color: rgb(172, 171, 171);
  2137. opacity: 1.2;
  2138. display: block;
  2139. transform: rotate(-47deg);/*调整斜线的角度*/
  2140. -webkit-transform-origin: top;
  2141. transform-origin: top;
  2142. }
  2143. tr:last-of-type th:first-of-type:before {
  2144. content: "";
  2145. position: absolute;
  2146. width: 1px;
  2147. height: 80px;/*斜线的长度*/
  2148. top: 0;
  2149. left: 125px;
  2150. background-color: rgb(172, 171, 171);
  2151. opacity: 1.2;
  2152. display: block;
  2153. transform: rotate(-48deg);/*调整斜线的角度*/
  2154. -webkit-transform-origin: top;
  2155. transform-origin: top;
  2156. }
  2157. tr:nth-of-type(2) th:nth-of-type(1):after{
  2158. content: "";
  2159. position: absolute;
  2160. width: 1px;
  2161. height: 80px;/*斜线的长度*/
  2162. top: 8px;
  2163. left: 0px;
  2164. background-color: rgb(172, 171, 171);
  2165. opacity: 1.2;
  2166. display: block;
  2167. transform: rotate(-76deg);/*调整斜线的角度*/
  2168. -webkit-transform-origin: top;
  2169. transform-origin: top;
  2170. }
  2171. tr:last-of-type th:first-of-type:after {
  2172. content: "";
  2173. position: absolute;
  2174. width: 1px;
  2175. height: 92px;/*斜线的长度*/
  2176. top: 0;
  2177. left: 59px;
  2178. background-color: rgb(172, 171, 171);
  2179. opacity: 1.2;
  2180. display: block;
  2181. transform: rotate(-76deg);/*调整斜线的角度*/
  2182. -webkit-transform-origin: top;
  2183. transform-origin: top;
  2184. }
  2185. }
  2186. .el-table--border th, .el-table__fixed-right-patch {
  2187. border-bottom: none !important;
  2188. }
  2189. .el-table td .cell, .el-table th .cell {
  2190. padding: 0 5px !important;
  2191. }
  2192. // .el-table--medium td, .el-table--medium th {
  2193. // padding: 0px 0px !important;
  2194. // }
  2195. }
  2196. }
  2197. }
  2198. ::-webkit-scrollbar{
  2199. height: 15px;
  2200. }
  2201. </style>