Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

airDisinfectTwo.vue 70KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540
  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-button type="primary" style="margin-left: 10px;" @click="toSeach">搜索</el-button>
  28. </div>
  29. <div style="float:right;margin-bottom:10px;">
  30. <el-button type="primary" @click="printCard">打印</el-button>
  31. <el-button type="primary" @click="AddCard">新增</el-button>
  32. </div>
  33. <div class="tab_air">
  34. <el-table :data="tableData" :fit="true" stripe>
  35. <el-table-column prop="year" label="名称" width="150" align="center">
  36. <el-table-column prop="year" label="消毒时间" align="center" width="150">
  37. <el-table-column prop="year" label="日期" align="center" width="150">
  38. <template slot-scope="scope">
  39. {{getTimes(scope.row.record_date) }}
  40. </template>
  41. </el-table-column>
  42. </el-table-column>
  43. </el-table-column>
  44. <el-table-column prop="fenopda" label="透析室" align="center" min-width="70">
  45. <template slot-scope="scope">
  46. {{getTimeTwo(scope.row.first_start_time)}} - {{ getTimeTwo(scope.row.first_end_time) }}
  47. </template>
  48. </el-table-column>
  49. <el-table-column prop="dwaiod" label="累计时间" align="center" min-width="50">
  50. <template slot-scope="scope">
  51. {{scope.row.first_total_time?scope.row.first_total_time:"" }}
  52. </template>
  53. </el-table-column>
  54. <el-table-column prop="date" label="责任人" align="center" min-width="50">
  55. <template slot-scope="scope">
  56. {{getName(scope.row.first_creator)}}
  57. </template>
  58. </el-table-column>
  59. <el-table-column prop="name" label="治疗室" align="center" min-width="80">
  60. <template slot-scope="scope">
  61. {{ getTimeTwo(scope.row.sencond_start_time)}} - {{ getTimeTwo(scope.row.sencond_end_time) }}
  62. </template>
  63. </el-table-column>
  64. <el-table-column prop="province" label="累计时间" align="center" min-width="50">
  65. <template slot-scope="scope">
  66. {{ scope.row.sencond_total_time?scope.row.sencond_total_time:"" }}
  67. </template>
  68. </el-table-column>
  69. <el-table-column prop="city" label="负责人" align="center" min-width="50">
  70. <template slot-scope="scope">
  71. {{getName(scope.row.sencond_creator)}}
  72. </template>
  73. </el-table-column>
  74. <el-table-column prop="name" label="水处理、库房" align="center" min-width="100">
  75. <template slot-scope="scope">
  76. {{ getTimeTwo(scope.row.third_start_time)}} - {{ getTimeTwo(scope.row.third_end_time) }}
  77. </template>
  78. </el-table-column>
  79. <el-table-column prop="province" label="累计时间" align="center" min-width="45">
  80. <template slot-scope="scope">
  81. {{scope.row.third_total_time?scope.row.third_total_time:"" }}
  82. </template>
  83. </el-table-column>
  84. <el-table-column prop="city" label="负责人" align="center" min-width="50">
  85. <template slot-scope="scope">
  86. {{getName(scope.row.third_creator)}}
  87. </template>
  88. </el-table-column>
  89. <el-table-column prop="name" label="通风" align="center" min-width="80">
  90. <template slot-scope="scope">
  91. {{ getTimeTwo(scope.row.last_start_time)}} - {{ getTimeTwo(scope.row.last_end_time) }}
  92. </template>
  93. </el-table-column>
  94. <el-table-column prop="province" label="负责人" align="center" min-width="60">
  95. <template slot-scope="scope">
  96. {{getName(scope.row.last_creator)}}
  97. </template>
  98. </el-table-column>
  99. <el-table-column prop="city" label="操作" align="center" min-width="150">
  100. <template slot-scope="scope">
  101. <el-button
  102. size="mini"
  103. type="primary"
  104. @click="handleEdit(scope.row.id)">编辑</el-button>
  105. <el-button
  106. size="mini"
  107. type="danger"
  108. @click="handleDelete(scope.row.id)">删除</el-button>
  109. </template>
  110. </el-table-column>
  111. </el-table>
  112. <el-pagination
  113. :page-sizes="[10, 20, 50, 100]"
  114. :page-size="10"
  115. background
  116. style="margin-top:20px;float: right"
  117. layout="total, sizes, prev, pager, next, jumper"
  118. :total="total"
  119. @size-change="handleSizeChange"
  120. @current-change="handleCurrentChange"
  121. >
  122. </el-pagination>
  123. </div>
  124. <!-- 新增 -->
  125. <el-dialog
  126. class="centerDialog"
  127. width="1000px"
  128. title="新增空气消毒表"
  129. :visible.sync="dialogFormVisible">
  130. <el-form :model="form" ref="form" class="airForm" :rules="airRules">
  131. <div style="width: 100%;">
  132. <el-form-item label="创建日期" label-width="110px" required prop="record_date">
  133. <el-date-picker
  134. value-format="yyyy-MM-dd"
  135. v-model="form.record_date"
  136. type="date"
  137. placeholder="选择日期时间">
  138. </el-date-picker>
  139. </el-form-item>
  140. </div>
  141. <div class="form_title"><span >透析室</span></div>
  142. <el-form-item label="消毒液" label-width="110px">
  143. <!-- <el-input v-model="form.first_disinfection_water"></el-input> -->
  144. <el-select v-model="form.first_disinfection_water" placeholder="请选择">
  145. <el-option
  146. v-for="(item,index) in disInfectionWaterList"
  147. :key="index"
  148. :label="item.name"
  149. :value="item.name">
  150. </el-option>
  151. </el-select>
  152. </el-form-item>
  153. <el-form-item label="消毒方式" label-width="110px">
  154. <!-- <el-input v-model="form.first_disinfection_methods"></el-input> -->
  155. <el-select v-model="form.first_disinfection_methods" placeholder="请选择">
  156. <el-option
  157. v-for="(item,index) in DisinfectionMode"
  158. :key="index"
  159. :label="item.name"
  160. :value="item.name">
  161. </el-option>
  162. </el-select>
  163. </el-form-item>
  164. <el-form-item label="消毒时间(h)" label-width="110px">
  165. <el-input v-model="form.first_disinfection_time " :disabled="true"></el-input>
  166. </el-form-item>
  167. <el-form-item label="开始时间" label-width="110px">
  168. <el-date-picker
  169. type="datetime"
  170. format="yyyy-MM-dd HH:mm"
  171. value-format="yyyy-MM-dd HH:mm"
  172. placeholder="选择时间"
  173. v-model="form.first_start_time"
  174. @change="firststartime"
  175. style="width:100%;"
  176. ></el-date-picker>
  177. </el-form-item>
  178. <el-form-item label="结束时间" label-width="110px">
  179. <el-date-picker
  180. type="datetime"
  181. format="yyyy-MM-dd HH:mm"
  182. value-format="yyyy-MM-dd HH:mm"
  183. placeholder="选择时间"
  184. v-model="form.first_end_time"
  185. @change="firstendtime"
  186. style="width:100%;"
  187. ></el-date-picker>
  188. </el-form-item>
  189. <el-form-item label="累计时间(h)" label-width="110px">
  190. <el-input v-model= "form.first_total_time" ></el-input>
  191. </el-form-item>
  192. <el-form-item label="检测合格" label-width="110px">
  193. <div>
  194. <el-radio v-model="form.first_is_check" label="1">是</el-radio>
  195. <el-radio v-model="form.first_is_check" label="2">否</el-radio>
  196. </div>
  197. </el-form-item>
  198. <el-form-item label="修改标志" label-width="110px">
  199. <el-select v-model="form.first_modifications" placeholder="请选择">
  200. <el-option
  201. v-for="(item,index) in options"
  202. :key="index"
  203. :label="item.name"
  204. :value="item.id">
  205. </el-option>
  206. </el-select>
  207. </el-form-item>
  208. <el-form-item label="责任人" label-width="110px">
  209. <el-select v-model="form.first_creator" placeholder="请选择">
  210. <el-option
  211. v-for="(item,index) in docList"
  212. :key="index"
  213. :label="item.user_name"
  214. :value="item.admin_user_id">
  215. </el-option>
  216. </el-select>
  217. </el-form-item>
  218. <div class="form_title"><span >治疗室</span></div>
  219. <el-form-item label="消毒液" label-width="110px">
  220. <!-- <el-input v-model="form.sencond_disinfection_water"></el-input> -->
  221. <el-select v-model="form.sencond_disinfection_water" placeholder="请选择">
  222. <el-option
  223. v-for="(item,index) in disInfectionWaterList"
  224. :key="index"
  225. :label="item.name"
  226. :value="item.name">
  227. </el-option>
  228. </el-select>
  229. </el-form-item>
  230. <el-form-item label="消毒方式" label-width="110px">
  231. <!-- <el-input v-model="form.sencond_disinfection_methods"></el-input> -->
  232. <el-select v-model="form.sencond_disinfection_methods" placeholder="请选择">
  233. <el-option
  234. v-for="(item,index) in DisinfectionMode"
  235. :key="index"
  236. :label="item.name"
  237. :value="item.name">
  238. </el-option>
  239. </el-select>
  240. </el-form-item>
  241. <el-form-item label="消毒时间(h)" label-width="110px">
  242. <el-input v-model="form.sencond_disinfection_time " :disabled="true"></el-input>
  243. </el-form-item>
  244. <el-form-item label="开始时间" label-width="110px">
  245. <el-date-picker
  246. type="datetime"
  247. format="yyyy-MM-dd HH:mm:ss"
  248. value-format="yyyy-MM-dd HH:mm"
  249. placeholder="选择时间"
  250. v-model="form.sencond_start_time"
  251. @change="sencondstarttime"
  252. style="width:100%;"
  253. ></el-date-picker>
  254. </el-form-item>
  255. <el-form-item label="结束时间" label-width="110px">
  256. <el-date-picker
  257. type="datetime"
  258. format="yyyy-MM-dd HH:mm"
  259. value-format="yyyy-MM-dd HH:mm"
  260. placeholder="选择时间"
  261. v-model="form.sencond_end_time"
  262. @change="sencondendtime"
  263. style="width:100%;"
  264. ></el-date-picker>
  265. </el-form-item>
  266. <el-form-item label="累计时间(h)" label-width="110px">
  267. <el-input v-model= "form.sencond_total_time" ></el-input>
  268. </el-form-item>
  269. <el-form-item label="检测合格" label-width="110px">
  270. <div>
  271. <el-radio v-model="form.sencond_is_check" label="1">是</el-radio>
  272. <el-radio v-model="form.sencond_is_check" label="2">否</el-radio>
  273. </div>
  274. </el-form-item>
  275. <el-form-item label="修改标志" label-width="110px">
  276. <el-select v-model="form.sencond_modifications" placeholder="请选择">
  277. <el-option
  278. v-for="(item,index) in options"
  279. :key="index"
  280. :label="item.name"
  281. :value="item.id">
  282. </el-option>
  283. </el-select>
  284. </el-form-item>
  285. <el-form-item label="责任人" label-width="110px">
  286. <el-select v-model="form.sencond_creator" placeholder="请选择">
  287. <el-option
  288. v-for="(item,index) in docList"
  289. :key="index"
  290. :label="item.user_name"
  291. :value="item.admin_user_id">
  292. </el-option>
  293. </el-select>
  294. </el-form-item>
  295. <div class="form_title"><span >水处理、库房</span></div>
  296. <el-form-item label="消毒液" label-width="110px">
  297. <!-- <el-input v-model="form.third_disinfection_water"></el-input> -->
  298. <el-select v-model="form.third_disinfection_water" placeholder="请选择">
  299. <el-option
  300. v-for="(item,index) in disInfectionWaterList"
  301. :key="index"
  302. :label="item.name"
  303. :value="item.name">
  304. </el-option>
  305. </el-select>
  306. </el-form-item>
  307. <el-form-item label="消毒方式" label-width="110px">
  308. <!-- <el-input v-model="form.third_disinfection_methods"></el-input> -->
  309. <el-select v-model="form.third_disinfection_methods" placeholder="请选择">
  310. <el-option
  311. v-for="(item,index) in DisinfectionMode"
  312. :key="index"
  313. :label="item.name"
  314. :value="item.name">
  315. </el-option>
  316. </el-select>
  317. </el-form-item>
  318. <el-form-item label="消毒时间(h)" label-width="110px">
  319. <el-input v-model="form.third_disinfection_time " :disabled="true"></el-input>
  320. </el-form-item>
  321. <el-form-item label="开始时间" label-width="110px">
  322. <el-date-picker
  323. type="datetime"
  324. format="yyyy-MM-dd HH:mm"
  325. value-format="yyyy-MM-dd HH:mm"
  326. placeholder="选择时间"
  327. v-model="form.third_start_time"
  328. @change="thirdstarttime"
  329. style="width:100%;"
  330. ></el-date-picker>
  331. </el-form-item>
  332. <el-form-item label="结束时间" label-width="110px">
  333. <el-date-picker
  334. type="datetime"
  335. format="yyyy-MM-dd HH:mm"
  336. value-format="yyyy-MM-dd HH:mm"
  337. placeholder="选择时间"
  338. v-model="form.third_end_time"
  339. @change="thirdendtime"
  340. style="width:100%;"
  341. ></el-date-picker>
  342. </el-form-item>
  343. <el-form-item label="累计时间(h)" label-width="110px">
  344. <el-input v-model= "form.third_total_time" ></el-input>
  345. </el-form-item>
  346. <el-form-item label="检测合格" label-width="110px">
  347. <div>
  348. <el-radio v-model="form.third_is_check" label="1">是</el-radio>
  349. <el-radio v-model="form.third_is_check" label="2">否</el-radio>
  350. </div>
  351. </el-form-item>
  352. <el-form-item label="修改标志" label-width="110px" >
  353. <el-select v-model="form.third_modifications" placeholder="请选择">
  354. <el-option
  355. v-for="(item,index) in options"
  356. :key="index"
  357. :label="item.name"
  358. :value="item.id">
  359. </el-option>
  360. </el-select>
  361. </el-form-item>
  362. <el-form-item label="责任人" label-width="110px">
  363. <el-select v-model="form.third_creator" placeholder="请选择">
  364. <el-option
  365. v-for="(item,index) in docList"
  366. :key="index"
  367. :label="item.user_name"
  368. :value="item.admin_user_id">
  369. </el-option>
  370. </el-select>
  371. </el-form-item>
  372. <div class="form_title"><span >通风</span></div>
  373. <el-form-item label="开始时间" label-width="110px">
  374. <el-date-picker
  375. type="datetime"
  376. format="yyyy-MM-dd HH:mm"
  377. value-format="yyyy-MM-dd HH:mm"
  378. placeholder="选择时间"
  379. v-model="form.last_start_time"
  380. @change="laststarttime"
  381. style="width:100%;"
  382. ></el-date-picker>
  383. </el-form-item>
  384. <el-form-item label="结束时间" label-width="110px">
  385. <el-date-picker
  386. type="datetime"
  387. format="yyyy-MM-dd HH:mm"
  388. value-format="yyyy-MM-dd HH:mm"
  389. placeholder="选择时间"
  390. v-model="form.last_end_time"
  391. @change="lastendtime"
  392. style="width:100%;"
  393. ></el-date-picker>
  394. </el-form-item>
  395. <el-form-item label="累计时间(h)" label-width="110px">
  396. <el-input v-model= "form.last_total_time" ></el-input>
  397. </el-form-item>
  398. <el-form-item label="检测合格" label-width="110px">
  399. <div>
  400. <el-radio v-model="form.last_is_check" label="1">是</el-radio>
  401. <el-radio v-model="form.last_is_check" label="2">否</el-radio>
  402. </div>
  403. </el-form-item>
  404. <el-form-item label="修改标志" label-width="110px" prop="last_modifications">
  405. <el-select v-model="form.last_modifications" placeholder="请选择">
  406. <el-option
  407. v-for="(item,index) in options"
  408. :key="index"
  409. :label="item.name"
  410. :value="item.id">
  411. </el-option>
  412. </el-select>
  413. </el-form-item>
  414. <el-form-item label="责任人" label-width="110px" prop="creator">
  415. <el-select v-model="form.last_creator" placeholder="请选择">
  416. <el-option
  417. v-for="(item,index) in docList"
  418. :key="index"
  419. :label="item.user_name"
  420. :value="item.admin_user_id">
  421. </el-option>
  422. </el-select>
  423. </el-form-item>
  424. </el-form>
  425. <div slot="footer" class="dialog-footer">
  426. <el-button @click="dialogFormVisible = false">取 消</el-button>
  427. <el-button type="primary" @click="saveNewAirDisinfect('form')">保 存</el-button>
  428. </div>
  429. </el-dialog>
  430. <!-- 编辑 -->
  431. <el-dialog
  432. class="centerDialog"
  433. width="1000px"
  434. title="编辑空气消毒表"
  435. :visible.sync="editDialogFormVisible">
  436. <el-form :model="form" ref="form" class="airForm" :rules="airRules">
  437. <div style="width: 100%;">
  438. <el-form-item label="创建日期" label-width="110px" required prop="record_date">
  439. <el-date-picker
  440. value-format="yyyy-MM-dd"
  441. v-model="form.record_date"
  442. type="date"
  443. placeholder="选择日期时间">
  444. </el-date-picker>
  445. </el-form-item>
  446. </div>
  447. <div class="form_title"><span >透析室</span></div>
  448. <el-form-item label="消毒液" label-width="110px">
  449. <!-- <el-input v-model="form.first_disinfection_water"></el-input> -->
  450. <el-select v-model="form.first_disinfection_water" placeholder="请选择">
  451. <el-option
  452. v-for="(item,index) in disInfectionWaterList"
  453. :key="index"
  454. :label="item.name"
  455. :value="item.name">
  456. </el-option>
  457. </el-select>
  458. </el-form-item>
  459. <el-form-item label="消毒方式" label-width="110px">
  460. <!-- <el-input v-model="form.first_disinfection_methods"></el-input> -->
  461. <el-select v-model="form.first_disinfection_methods" placeholder="请选择">
  462. <el-option
  463. v-for="(item,index) in DisinfectionMode"
  464. :key="index"
  465. :label="item.name"
  466. :value="item.name">
  467. </el-option>
  468. </el-select>
  469. </el-form-item>
  470. <el-form-item label="消毒时间(h)" label-width="110px">
  471. <el-input v-model="form.first_disinfection_time " :disabled="true"></el-input>
  472. </el-form-item>
  473. <el-form-item label="开始时间" label-width="110px">
  474. <el-date-picker
  475. type="datetime"
  476. format="yyyy-MM-dd HH:mm"
  477. value-format="yyyy-MM-dd HH:mm"
  478. placeholder="选择时间"
  479. v-model="form.first_start_time"
  480. @change="firststartime"
  481. style="width:100%;"
  482. ></el-date-picker>
  483. </el-form-item>
  484. <el-form-item label="结束时间" label-width="110px">
  485. <el-date-picker
  486. type="datetime"
  487. format="yyyy-MM-dd HH:mm"
  488. value-format="yyyy-MM-dd HH:mm"
  489. placeholder="选择时间"
  490. v-model="form.first_end_time"
  491. @change="firstendtime"
  492. style="width:100%;"
  493. ></el-date-picker>
  494. </el-form-item>
  495. <el-form-item label="累计时间(h)" label-width="110px">
  496. <el-input v-model= "form.first_total_time" ></el-input>
  497. </el-form-item>
  498. <el-form-item label="检测合格" label-width="110px">
  499. <div>
  500. <el-radio v-model="form.first_is_check" label="1">是</el-radio>
  501. <el-radio v-model="form.first_is_check" label="2">否</el-radio>
  502. </div>
  503. </el-form-item>
  504. <el-form-item label="修改标志" label-width="110px" >
  505. <el-select v-model="form.first_modifications" placeholder="请选择">
  506. <el-option
  507. v-for="(item,index) in options"
  508. :key="index"
  509. :label="item.name"
  510. :value="item.id">
  511. </el-option>
  512. </el-select>
  513. </el-form-item>
  514. <el-form-item label="责任人" label-width="110px">
  515. <el-select v-model="form.first_creator" placeholder="请选择">
  516. <el-option
  517. v-for="(item,index) in docList"
  518. :key="index"
  519. :label="item.user_name"
  520. :value="item.admin_user_id">
  521. </el-option>
  522. </el-select>
  523. </el-form-item>
  524. <div class="form_title"><span >治疗室</span></div>
  525. <el-form-item label="消毒液" label-width="110px">
  526. <!-- <el-input v-model="form.sencond_disinfection_water"></el-input> -->
  527. <el-select v-model="form.sencond_disinfection_water" placeholder="请选择">
  528. <el-option
  529. v-for="(item,index) in disInfectionWaterList"
  530. :key="index"
  531. :label="item.name"
  532. :value="item.name">
  533. </el-option>
  534. </el-select>
  535. </el-form-item>
  536. <el-form-item label="消毒方式" label-width="110px">
  537. <!-- <el-input v-model="form.sencond_disinfection_methods"></el-input> -->
  538. <el-select v-model="form.sencond_disinfection_methods" placeholder="请选择">
  539. <el-option
  540. v-for="(item,index) in DisinfectionMode"
  541. :key="index"
  542. :label="item.name"
  543. :value="item.name">
  544. </el-option>
  545. </el-select>
  546. </el-form-item>
  547. <el-form-item label="消毒时间(h)" label-width="110px">
  548. <el-input v-model="form.sencond_disinfection_time " :disabled="true"></el-input>
  549. </el-form-item>
  550. <el-form-item label="开始时间" required label-width="110px">
  551. <el-date-picker
  552. type="datetime"
  553. format="yyyy-MM-dd HH:mm"
  554. value-format="yyyy-MM-dd HH:mm"
  555. placeholder="选择时间"
  556. v-model="form.sencond_start_time"
  557. style="width:100%;"
  558. ></el-date-picker>
  559. </el-form-item>
  560. <el-form-item label="结束时间" label-width="110px">
  561. <el-date-picker
  562. type="datetime"
  563. format="yyyy-MM-dd HH:mm"
  564. value-format="yyyy-MM-dd HH:mm"
  565. placeholder="选择时间"
  566. v-model="form.sencond_end_time"
  567. @change="sencondendtime"
  568. style="width:100%;"
  569. ></el-date-picker>
  570. </el-form-item>
  571. <el-form-item label="累计时间(h)" label-width="110px">
  572. <el-input v-model= "form.sencond_total_time" ></el-input>
  573. </el-form-item>
  574. <el-form-item label="检测合格" label-width="110px">
  575. <div>
  576. <el-radio v-model="form.sencond_is_check" label="1">是</el-radio>
  577. <el-radio v-model="form.sencond_is_check" label="2">否</el-radio>
  578. </div>
  579. </el-form-item>
  580. <el-form-item label="修改标志" label-width="110px">
  581. <el-select v-model="form.sencond_modifications" placeholder="请选择">
  582. <el-option
  583. v-for="(item,index) in options"
  584. :key="index"
  585. :label="item.name"
  586. :value="item.id">
  587. </el-option>
  588. </el-select>
  589. </el-form-item>
  590. <el-form-item label="责任人" label-width="110px" >
  591. <el-select v-model="form.sencond_creator" placeholder="请选择">
  592. <el-option
  593. v-for="(item,index) in docList"
  594. :key="index"
  595. :label="item.user_name"
  596. :value="item.admin_user_id">
  597. </el-option>
  598. </el-select>
  599. </el-form-item>
  600. <div class="form_title"><span >水处理、库房</span></div>
  601. <el-form-item label="消毒液" label-width="110px">
  602. <!-- <el-input v-model="form.third_disinfection_water"></el-input> -->
  603. <el-select v-model="form.third_disinfection_water" placeholder="请选择">
  604. <el-option
  605. v-for="(item,index) in disInfectionWaterList"
  606. :key="index"
  607. :label="item.name"
  608. :value="item.name">
  609. </el-option>
  610. </el-select>
  611. </el-form-item>
  612. <el-form-item label="消毒方式" label-width="110px">
  613. <!-- <el-input v-model="form.third_disinfection_methods"></el-input> -->
  614. <el-select v-model="form.sencond_disinfection_methods" placeholder="请选择">
  615. <el-option
  616. v-for="(item,index) in DisinfectionMode"
  617. :key="index"
  618. :label="item.name"
  619. :value="item.name">
  620. </el-option>
  621. </el-select>
  622. </el-form-item>
  623. <el-form-item label="消毒时间(h)" label-width="110px">
  624. <el-input v-model="form.third_disinfection_time " :disabled="true"></el-input>
  625. </el-form-item>
  626. <el-form-item label="开始时间" label-width="110px">
  627. <el-date-picker
  628. type="datetime"
  629. format="yyyy-MM-dd HH:mm"
  630. value-format="yyyy-MM-dd HH:mm"
  631. placeholder="选择时间"
  632. v-model="form.third_start_time"
  633. @change="thirdstarttime"
  634. style="width:100%;"
  635. ></el-date-picker>
  636. </el-form-item>
  637. <el-form-item label="结束时间" label-width="110px">
  638. <el-date-picker
  639. type="datetime"
  640. format="yyyy-MM-dd HH:mm"
  641. value-format="yyyy-MM-dd HH:mm"
  642. placeholder="选择时间"
  643. v-model="form.third_end_time"
  644. @change="thirdendtime"
  645. style="width:100%;"
  646. ></el-date-picker>
  647. </el-form-item>
  648. <el-form-item label="累计时间(h)" label-width="110px">
  649. <el-input v-model= "form.third_total_time" ></el-input>
  650. </el-form-item>
  651. <el-form-item label="检测合格" label-width="110px" prop="check_out">
  652. <div>
  653. <el-radio v-model="form.third_is_check" label="1">是</el-radio>
  654. <el-radio v-model="form.third_is_check" label="2">否</el-radio>
  655. </div>
  656. </el-form-item>
  657. <el-form-item label="修改标志" label-width="110px" prop="modifications">
  658. <el-select v-model="form.third_modifications" placeholder="请选择">
  659. <el-option
  660. v-for="(item,index) in options"
  661. :key="index"
  662. :label="item.name"
  663. :value="item.id">
  664. </el-option>
  665. </el-select>
  666. </el-form-item>
  667. <el-form-item label="责任人" label-width="110px" prop="creator">
  668. <el-select v-model="form.third_creator" placeholder="请选择">
  669. <el-option
  670. v-for="(item,index) in docList"
  671. :key="index"
  672. :label="item.user_name"
  673. :value="item.admin_user_id">
  674. </el-option>
  675. </el-select>
  676. </el-form-item>
  677. <div class="form_title"><span >通风</span></div>
  678. <el-form-item label="开始时间" label-width="110px">
  679. <el-date-picker
  680. type="datetime"
  681. format="yyyy-MM-dd HH:mm"
  682. value-format="yyyy-MM-dd HH:mm"
  683. placeholder="选择时间"
  684. v-model="form.last_start_time"
  685. @change="laststarttime"
  686. style="width:100%;"
  687. ></el-date-picker>
  688. </el-form-item>
  689. <el-form-item label="结束时间" label-width="110px">
  690. <el-date-picker
  691. type="datetime"
  692. format="yyyy-MM-dd HH:mm"
  693. value-format="yyyy-MM-dd HH:mm"
  694. placeholder="选择时间"
  695. v-model="form.last_end_time"
  696. @change="lastendtime"
  697. style="width:100%;"
  698. ></el-date-picker>
  699. </el-form-item>
  700. <el-form-item label="累计时间(h)" label-width="110px">
  701. <el-input v-model= "form.last_total_time" ></el-input>
  702. </el-form-item>
  703. <el-form-item label="检测合格" label-width="110px" prop="check_out">
  704. <div>
  705. <el-radio v-model="form.last_is_check" label="1">是</el-radio>
  706. <el-radio v-model="form.last_is_check" label="2">否</el-radio>
  707. </div>
  708. </el-form-item>
  709. <el-form-item label="修改标志" label-width="110px">
  710. <el-select v-model="form.last_modifications" placeholder="请选择">
  711. <el-option
  712. v-for="(item,index) in options"
  713. :key="index"
  714. :label="item.name"
  715. :value="item.id">
  716. </el-option>
  717. </el-select>
  718. </el-form-item>
  719. <el-form-item label="责任人" label-width="110px" prop="creator">
  720. <el-select v-model="form.last_creator" placeholder="请选择">
  721. <el-option
  722. v-for="(item,index) in docList"
  723. :key="index"
  724. :label="item.user_name"
  725. :value="item.admin_user_id">
  726. </el-option>
  727. </el-select>
  728. </el-form-item>
  729. </el-form>
  730. <div slot="footer" class="dialog-footer">
  731. <el-button @click="editDialogFormVisible = false">取 消</el-button>
  732. <el-button type="primary" @click="updateAirDisinfect('form')">保 存</el-button>
  733. </div>
  734. </el-dialog>
  735. <div hidden="hidden">
  736. <div id="print-card-info" v-show="hiddenShow">
  737. <div>
  738. <h1 style="text-align: center;">空气消毒登记</h1>
  739. <div>
  740. <table border="1" style="text-align: center;margin: auto;border-collapse: collapse;">
  741. <tr>
  742. <td style="position: relative;box-sizing: border-box;width: 107px;
  743. height: 80px;">
  744. <span style="position: absolute; right: 10px; top: 10px; font-size: 12px;">名称</span>
  745. <span style="position: absolute; display: block; top: 0; left: 46px; width: 100px;
  746. border-bottom:1px solid black ;transform: rotate(52deg);
  747. transform-origin: top left;"></span>
  748. <span style="position: absolute; right: 45px; top: 23px;font-size: 12px;">消毒 <br/>时间</span>
  749. <span style="position: absolute; display: block; top: 46px; left: 0; width: 113px;
  750. border-bottom:1px solid black ;transform: rotate(17deg);
  751. transform-origin: top left;"></span>
  752. <span style="position: absolute; left: 6px; bottom: 6px;font-size: 12px;">日期</span>
  753. </td>
  754. <td>透析室</td>
  755. <td>累计时间</td>
  756. <td>责任人</td>
  757. <td>治疗室</td>
  758. <td>累计时间</td>
  759. <td>责任人</td>
  760. <td>水处理、库房</td>
  761. <td>累计时间</td>
  762. <td>责任人</td>
  763. <td>通风</td>
  764. <td>负责人</td>
  765. </tr>
  766. <tr v-for="(item,index) in tableData" :key="index">
  767. <td>{{getTimes(item.record_date) }}</td>
  768. <td>{{ getTimeTwo(item.first_start_time)}} - {{ getTimeTwo(item.first_end_time) }}</td>
  769. <td>{{item.first_total_time }}</td>
  770. <td>
  771. <span v-if="setAdminUserES(item.first_creator?item.last_creator:item.first_creator) == ''">
  772. {{getName(item.first_creator)}}
  773. </span>
  774. <span v-else>
  775. <img style="height:30px;" :src="setAdminUserES(item.last_creator?item.last_creator:item.last_creator)" alt="" srcset="">
  776. </span>
  777. </td>
  778. <td>{{ getTimeTwo(item.sencond_start_time)}} - {{ getTimeTwo(item.sencond_end_time) }}</td>
  779. <td>{{item.sencond_total_time }}</td>
  780. <td>
  781. <span v-if="setAdminUserES(item.sencond_creator?item.sencond_creator:item.sencond_creator) == ''">
  782. {{getName(item.sencond_creator)}}
  783. </span>
  784. <span v-else>
  785. <img style="height:30px;" :src="setAdminUserES(item.sencond_creator?item.sencond_creator:item.sencond_creator)" alt="" srcset="">
  786. </span>
  787. </td>
  788. <td>{{getTimeTwo(item.last_start_time)}} - {{ getTimeTwo(item.last_end_time) }}</td>
  789. <td>{{item.third_total_time }}</td>
  790. <td>
  791. <span v-if="setAdminUserES(item.third_creator?item.third_creator:item.third_creator) == ''">
  792. {{getName(item.third_creator)}}
  793. </span>
  794. <span v-else>
  795. <img style="height:30px;" :src="setAdminUserES(item.third_creator?item.third_creator:item.third_creator)" alt="" srcset="">
  796. </span>
  797. </td>
  798. <td> {{getTimeTwo(item.last_start_time)}} - {{ getTimeTwo(item.last_end_time) }}</td>
  799. <td>
  800. <span v-if="setAdminUserES(item.last_creator?item.last_creator:item.last_creator) == ''">
  801. {{getName(item.last_creator)}}
  802. </span>
  803. <span v-else>
  804. <img style="height:30px;" :src="setAdminUserES(item.last_creator?item.last_creator:item.last_creator)" alt="" srcset="">
  805. </span>
  806. </td>
  807. </tr>
  808. </table>
  809. </div>
  810. </div>
  811. </div>
  812. </div>
  813. </div>
  814. </div>
  815. </template>
  816. <script>
  817. import print from "print-js";
  818. import BreadCrumb from '@/xt_pages/components/bread-crumb'
  819. import { getAllDoctorList,saveNewAirDisinfect,getNewAirDisinfectList,getNewAirDisinfectByIdList,updateNewAirDisinfect,deleteNewAirDisInfect,getAirDisinfectLongTime} from "@/api/device"
  820. import { uParseTime } from '@/utils/tools'
  821. const moment = require('moment')
  822. import { getManageMentDataConfig } from '@/utils/data'
  823. export default {
  824. name: 'airDisinfect',
  825. components: {
  826. BreadCrumb
  827. },
  828. data() {
  829. return {
  830. crumbs: [
  831. { path: false, name: '院感管理' },
  832. { path: false, name: '透析室空气消毒记录表' }
  833. ],
  834. dialogFormVisible:false,
  835. editDialogFormVisible:false,
  836. startvalue:'',
  837. endvalue:'',
  838. form: {
  839. id:0,
  840. record_date:moment(new Date()).add('year',0).format("YYYY-MM-DD"), //创建日期
  841. first_disinfection_water:"",// 消毒液
  842. first_disinfection_methods:"",//消毒方式
  843. first_disinfection_time:'',//消毒时长
  844. first_start_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//开始时间
  845. first_end_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//结束时间
  846. first_total_time:"",//累计时间
  847. first_is_check:"1",//检验合格
  848. first_modifications:"",//修改标志
  849. first_creator:this.$store.getters.xt_user.user.id,//第一责任人
  850. sencond_disinfection_water:"",// 消毒液
  851. sencond_disinfection_methods:"",//消毒方式
  852. sencond_disinfection_time:"",//消毒时长
  853. sencond_start_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//开始时间
  854. sencond_end_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//结束时间
  855. sencond_total_time:"",//累计时间
  856. sencond_is_check:"1",//检验合格
  857. sencond_modifications:"",//修改标志
  858. sencond_creator:this.$store.getters.xt_user.user.id,//第一责任人
  859. third_disinfection_water:"",// 消毒液
  860. third_disinfection_methods:"",//消毒方式
  861. third_disinfection_time:'',//消毒时长
  862. third_start_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//开始时间
  863. third_end_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//结束时间
  864. third_total_time:"",//累计时间
  865. third_is_check:"1",//检验合格
  866. third_modifications:"",//修改标志
  867. third_creator:this.$store.getters.xt_user.user.id,//第一责任人
  868. last_start_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//开始时间
  869. last_end_time:moment(new Date()).format('YYYY-MM-DD HH:mm'),//结束时间
  870. last_disinfection_time:"",//消毒时长
  871. last_total_time:"",//累计时间
  872. last_is_check:"1",//检验合格
  873. last_modifications:"",//修改标志
  874. last_creator:this.$store.getters.xt_user.user.id,//第一责任人
  875. },
  876. docList:[],
  877. options:[
  878. {id:1,name:"正常"},
  879. {id:2,name:"撤销"}
  880. ],
  881. airRules: {
  882. created_time:[{required:true,message:"请选择创建时间",trigger:"blur"}],
  883. start_time:[{required:true,message:"请选择开始时间",trigger:"blur"}],
  884. end_time:[{required:true,message:"请选择结束时间",trigger:"blur"}]
  885. },
  886. limit:10,
  887. page:1,
  888. total:0,
  889. tableData: [],
  890. hiddenShow:false,
  891. // disInfectionWaterList:[
  892. // { id: 1, name: "0.22%季铵盐" },
  893. // { id: 2, name: "500mg/l含氯消毒剂" },
  894. // { id: 3, name: "1000mg/l含氯消毒剂" },
  895. // { id: 4, name: "1500mg/l含氯消毒剂" },
  896. // { id: 5, name: "消毒湿巾" },
  897. // { id:6, name:"75%酒精"}
  898. // ],
  899. disInfectionWaterList:[],
  900. // DisinfectionMode: [
  901. // { id: 1, name: "紫外线" },
  902. // { id: 2, name: "等离子" },
  903. // { id: 3, name: "臭氧" },
  904. // {id:4,name:"含氯剂喷洒500mg/L"},
  905. // {id:5,name:"含氯剂喷洒1000mg/L"},
  906. // {id:6,name:"通风"}
  907. // ],
  908. DisinfectionMode:[],
  909. operators: [],
  910. operatorMaps:{},
  911. firststart:'',
  912. firstend:'',
  913. first_total_time:0,
  914. sencond_total_time:0,
  915. third_total_time:0,
  916. last_total_time:0,
  917. }
  918. },
  919. created(){
  920. var disinfection_fluid = getManageMentDataConfig('management', 'disinfection_fluid')
  921. console.log("disinfection_fluid",disinfection_fluid)
  922. for(let i=0;i<disinfection_fluid.length;i++){
  923. this.disInfectionWaterList.push(disinfection_fluid[i])
  924. }
  925. var disinfection_methods = getManageMentDataConfig('management', 'disinfection_methods')
  926. console.log("disinfection_methods",disinfection_methods)
  927. for(let i=0;i<disinfection_methods.length;i++){
  928. this.DisinfectionMode.push(disinfection_methods[i])
  929. }
  930. this.getAllDoctorList()
  931. this.getNewAirDisinfectList()
  932. var time=moment(this.form.first_start_time).format("HH:mm");
  933. },
  934. computed:{
  935. firstdisinfection_time (){
  936. let firststart= Date.parse(new Date(this.form.first_start_time))
  937. let firstend= Date.parse(new Date(this.form.first_end_time))
  938. let time_interval = ((firstend - firststart)/(60*60*1000)).toFixed(1)
  939. return time_interval
  940. },
  941. senconddisinfection_time (){
  942. const sencondstart= Date.parse(new Date(this.form.sencond_start_time))
  943. const sencondend= Date.parse(new Date(this.form.sencond_end_time))
  944. const time_interval = ((sencondend - sencondstart)/(60*60*1000)).toFixed(1)
  945. return time_interval
  946. },
  947. thirddisinfection_time (){
  948. const thirdstart= Date.parse(new Date(this.form.third_start_time))
  949. const thirdend= Date.parse(new Date(this.form.third_end_time))
  950. const time_interval = ((thirdend - thirdstart)/(60*60*1000)).toFixed(1)
  951. return time_interval
  952. },
  953. lastdisinfection_time(){
  954. const lasttart= Date.parse(new Date(this.form.last_start_time))
  955. const lastend= Date.parse(new Date(this.form.last_end_time))
  956. const time_interval = ((lastend - lasttart)/(60*60*1000)).toFixed(1)
  957. return time_interval
  958. }
  959. },
  960. methods:{
  961. AddCard(){
  962. getAirDisinfectLongTime().then(response=>{
  963. if(response.data.state == 1){
  964. var list = response.data.data.list
  965. var first_total_time = 0
  966. var sencond_total_time = 0
  967. var third_total_time = 0
  968. var last_total_time = 0
  969. if(list!=null && list.length>0){
  970. for(let i=0;i<list.length;i++){
  971. first_total_time += parseFloat(list[i].first_total_time)
  972. sencond_total_time +=parseFloat(list[i].sencond_total_time)
  973. third_total_time +=parseFloat(list[i].third_total_time)
  974. last_total_time +=parseFloat(list[i].last_total_time)
  975. }
  976. this.form.first_total_time = ""
  977. this.form.first_total_time = first_total_time
  978. this.first_total_time = first_total_time
  979. this.form.sencond_total_time = ""
  980. this.form.sencond_total_time = sencond_total_time
  981. this.sencond_total_time = sencond_total_time
  982. this.form.third_total_time =""
  983. this.form.third_total_time = third_total_time
  984. this.third_total_time = third_total_time
  985. this.form.last_total_time =""
  986. this.form.last_total_time = last_total_time
  987. this.last_total_time = last_total_time
  988. }
  989. this.dialogFormVisible = true
  990. }
  991. })
  992. },
  993. handleSizeChange(val) {
  994. this.limit = val;
  995. this.getNewAirDisinfectList()
  996. },
  997. handleCurrentChange(val) {
  998. this.page = val;
  999. this.getNewAirDisinfectList()
  1000. },
  1001. changeStartime(val){
  1002. this.getNewAirDisinfectList()
  1003. },
  1004. changeEndtime(){
  1005. this.getNewAirDisinfectList()
  1006. },
  1007. getAllDoctorList(){
  1008. getAllDoctorList().then(response=>{
  1009. if(response.data.state == 1){
  1010. var list = response.data.data.list
  1011. console.log("list222222",list)
  1012. this.docList = list
  1013. this.operators = response.data.data.operators
  1014. if (this.operators.length > 0) {
  1015. var operatorsLen = this.operators.length
  1016. for (var index = 0; index < operatorsLen; index++) {
  1017. this.$set(
  1018. this.operatorMaps,
  1019. this.operators[index].id,
  1020. this.operators[index]
  1021. )
  1022. }
  1023. }
  1024. }
  1025. })
  1026. },
  1027. saveNewAirDisinfect(formName){
  1028. this.$refs[formName].validate((valid)=>{
  1029. if(valid){
  1030. if(this.form.first_is_check!=""){
  1031. this.form.first_is_check = parseInt(this.form.first_is_check)
  1032. }else{
  1033. this.form.first_is_check = 0
  1034. }
  1035. if( this.form.sencond_is_check!=""){
  1036. this.form.sencond_is_check = parseInt(this.form.sencond_is_check)
  1037. }else{
  1038. this.form.sencond_is_check = ""
  1039. }
  1040. if( this.form.third_is_check!=""){
  1041. this.form.third_is_check = parseInt(this.form.third_is_check)
  1042. }else{
  1043. this.form.third_is_check = 0
  1044. }
  1045. if(this.form.last_is_check!=""){
  1046. this.form.last_is_check = parseInt(this.form.last_is_check)
  1047. }else{
  1048. this.form.last_is_check = 0
  1049. }
  1050. if(this.form.first_modifications!=""){
  1051. this.form.first_modifications = parseInt(this.form.first_modifications)
  1052. }else{
  1053. this.form.first_modifications =0
  1054. }
  1055. if(this.form.sencond_modifications!=""){
  1056. this.form.sencond_modifications = parseInt(this.form.sencond_modifications)
  1057. }else{
  1058. this.form.sencond_modifications =0
  1059. }
  1060. if(this.form.third_modifications!=""){
  1061. this.form.third_modifications = parseInt(this.form.third_modifications)
  1062. }else{
  1063. this.form.third_modifications= 0
  1064. }
  1065. if(this.form.last_modifications!=""){
  1066. this.form.last_modifications = parseInt(this.form.last_modifications)
  1067. }else{
  1068. this.form.last_modifications= 0
  1069. }
  1070. this.form.first_total_time = this.form.first_total_time.toString()
  1071. this.form.sencond_total_time =this.form.sencond_total_time.toString()
  1072. this.form.third_total_time = this.form.third_total_time.toString()
  1073. this.form.last_total_time = this.form.last_total_time.toString()
  1074. console.log("this232322323",this.form)
  1075. saveNewAirDisinfect(this.form).then(response=>{
  1076. if(response.data.state == 1 ){
  1077. var disinfect = response.data.data.disinfect
  1078. this.$message.success("保存成功!")
  1079. this.dialogFormVisible = false
  1080. this.getNewAirDisinfectList()
  1081. this.$refs[formName].resetFields();
  1082. }
  1083. })
  1084. }
  1085. })
  1086. },
  1087. getNewAirDisinfectList(){
  1088. var params = {
  1089. start_time:this.startvalue,
  1090. end_time:this.endvalue,
  1091. limit:this.limit,
  1092. page:this.page,
  1093. }
  1094. console.log("params2332233232w",params)
  1095. getNewAirDisinfectList(params).then(response=>{
  1096. if(response.data.state == 1){
  1097. var list = response.data.data.list
  1098. this.tableData = list
  1099. var total = response.data.data.total
  1100. this.total =total
  1101. }
  1102. })
  1103. },
  1104. getTimes(time) {
  1105. return uParseTime(time, '{y}-{m}-{d}')
  1106. },
  1107. getTimeTwo(time) {
  1108. return uParseTime(time, '{h}:{i}')
  1109. },
  1110. getTimeThree(time) {
  1111. return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
  1112. },
  1113. getName(creator){
  1114. var name = ""
  1115. for(let i=0;i<this.docList.length;i++){
  1116. if(creator == this.docList[i].admin_user_id){
  1117. name = this.docList[i].user_name
  1118. }
  1119. }
  1120. return name
  1121. },
  1122. handleEdit(id){
  1123. getNewAirDisinfectByIdList(id).then(response=>{
  1124. if(response.data.state == 1){
  1125. var list = response.data.data.list
  1126. console.log("list",list)
  1127. this.form.id = list.id
  1128. this.form.record_date = this.getTimes(list.record_date)
  1129. this.form.first_disinfection_water = list.first_disinfection_water?list.first_disinfection_water:""
  1130. this.form.first_disinfection_methods = list.first_disinfection_methods?list.first_disinfection_methods:""
  1131. this.form.first_disinfection_time = list.first_disinfection_time?list.first_disinfection_time:""
  1132. this.form.first_start_time = this.getTimeThree(list.first_start_time)
  1133. this.form.first_end_time = this.getTimeThree(list.first_end_time)
  1134. this.form.first_total_time = list.first_total_time?list.first_total_time:""
  1135. this.form.first_is_check = list.first_is_check.toString()
  1136. this.form.first_modifications = list.first_modifications?list.first_modifications:""
  1137. this.form.first_creator = list.first_creator
  1138. this.form.sencond_disinfection_water = list.sencond_disinfection_water?list.sencond_disinfection_water:""
  1139. this.form.sencond_disinfection_methods = list.sencond_disinfection_methods? list.sencond_disinfection_methods:""
  1140. this.form.sencond_disinfection_time = list.sencond_disinfection_time?list.sencond_disinfection_time:""
  1141. this.form.sencond_start_time = this.getTimeThree(list.sencond_start_time)
  1142. this.form.sencond_end_time = this.getTimeThree(list.sencond_end_time)
  1143. this.form.sencond_total_time = list.sencond_total_time?list.sencond_total_time:""
  1144. this.form.sencond_is_check = list.sencond_is_check.toString()
  1145. this.form.sencond_modifications = list.sencond_modifications?list.sencond_modifications:""
  1146. this.form.sencond_creator = list.sencond_creator
  1147. this.form.third_disinfection_water = list.third_disinfection_water?list.third_disinfection_water:""
  1148. this.form.third_disinfection_methods = list.third_disinfection_methods?list.third_disinfection_methods:""
  1149. this.form.third_disinfection_time = list.third_disinfection_time?list.third_disinfection_time:""
  1150. this.form.third_start_time =this.getTimeThree(list.third_start_time)
  1151. this.form.third_end_time = this.getTimeThree(list.third_end_time)
  1152. this.form.third_total_time = list.third_total_time?list.third_total_time:""
  1153. this.form.third_is_check = list.third_is_check.toString()
  1154. this.form.third_modifications = list.third_modifications?list.third_modifications:""
  1155. this.form.third_creator = list.third_creator
  1156. this.form.last_start_time = this.getTimeThree(list.last_start_time)
  1157. this.form.last_end_time = this.getTimeThree(list.last_end_time)
  1158. this.form.last_total_time = list.last_total_time?list.last_total_time:""
  1159. this.form.last_is_check = list.last_is_check.toString()
  1160. this.form.last_modifications = list.last_modifications?list.last_modifications:""
  1161. this.form.last_creator = list.last_creator
  1162. this.editDialogFormVisible = true
  1163. }
  1164. })
  1165. },
  1166. updateAirDisinfect(formName){
  1167. this.$refs[formName].validate((valid)=>{
  1168. if(valid){
  1169. if(this.form.first_is_check!=""){
  1170. this.form.first_is_check = parseInt(this.form.first_is_check)
  1171. }else{
  1172. this.form.first_is_check = 0
  1173. }
  1174. if( this.form.sencond_is_check!=""){
  1175. this.form.sencond_is_check = parseInt(this.form.sencond_is_check)
  1176. }else{
  1177. this.form.sencond_is_check = ""
  1178. }
  1179. if( this.form.third_is_check!=""){
  1180. this.form.third_is_check = parseInt(this.form.third_is_check)
  1181. }else{
  1182. this.form.third_is_check = 0
  1183. }
  1184. if(this.form.last_is_check!=""){
  1185. this.form.last_is_check = parseInt(this.form.last_is_check)
  1186. }else{
  1187. this.form.last_is_check = 0
  1188. }
  1189. if(this.form.first_modifications!=""){
  1190. this.form.first_modifications = parseInt(this.form.first_modifications)
  1191. }else{
  1192. this.form.first_modifications =0
  1193. }
  1194. if(this.form.sencond_modifications!=""){
  1195. this.form.sencond_modifications = parseInt(this.form.sencond_modifications)
  1196. }else{
  1197. this.form.sencond_modifications =0
  1198. }
  1199. if(this.form.third_modifications!=""){
  1200. this.form.third_modifications = parseInt(this.form.third_modifications)
  1201. }else{
  1202. this.form.third_modifications= 0
  1203. }
  1204. if(this.form.last_modifications!=""){
  1205. this.form.last_modifications = parseInt(this.form.last_modifications)
  1206. }else{
  1207. this.form.last_modifications= 0
  1208. }
  1209. console.log("23333333333333",this.form.first_total_time)
  1210. if( this.form.first_total_time > 0){
  1211. this.form.first_total_time = this.form.first_total_time.toString()
  1212. }
  1213. if( this.form.sencond_total_time > 0){
  1214. this.form.sencond_total_time = this.form.sencond_total_time.toString()
  1215. }
  1216. if( this.form.third_total_time > 0){
  1217. this.form.third_total_time = this.form.third_total_time.toString()
  1218. }
  1219. if(this.form.last_total_time >0){
  1220. this.form.last_total_time = this.form.last_total_time.toString()
  1221. }
  1222. console.log("form23333333333333333wo",this.form)
  1223. updateNewAirDisinfect(this.form).then(response=>{
  1224. if(response.data.state == 1){
  1225. var disinfect = response.data.data.disinfect
  1226. this.editDialogFormVisible = false
  1227. this.getNewAirDisinfectList()
  1228. this.$refs[formName].resetFields()
  1229. }
  1230. })
  1231. }
  1232. })
  1233. },
  1234. handleDelete(id){
  1235. deleteNewAirDisInfect(id).then(response=>{
  1236. if(response.data.state == 1){
  1237. var msg = response.data.data.msg
  1238. this.$message.success("删除成功!")
  1239. this.getNewAirDisinfectList()
  1240. }
  1241. })
  1242. },
  1243. printCard() {
  1244. this.hiddenShow = true;
  1245. var ptime = Math.round(new Date().getTime() / 1000);
  1246. this.print_time = uParseTime(ptime, "{y}年{m}月{d}日");
  1247. const style =
  1248. "@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}";
  1249. setTimeout(() => {
  1250. printJS({
  1251. printable: "print-card-info",
  1252. type: "html",
  1253. style: style,
  1254. scanStyles: false
  1255. });
  1256. }, 1);
  1257. },
  1258. setAdminUserES(id) {
  1259. if (id === 0) {
  1260. return ''
  1261. }
  1262. var user_name = ""
  1263. for(let i=0;i<this.operators.length;i++){
  1264. if(id == this.operators[i].admin_user_id){
  1265. user_name = this.operators[i].url
  1266. }
  1267. }
  1268. return user_name
  1269. // if (id in this.operatorMaps) {
  1270. // return this.operatorMaps[id].url
  1271. // } else {
  1272. // return ''
  1273. // }
  1274. },
  1275. firststartime(val){
  1276. this.form.first_start_time = val
  1277. this.form.first_disinfection_time = this.firstdisinfection_time
  1278. },
  1279. firstendtime(val){
  1280. this.form.first_disinfection_time = this.firstdisinfection_time
  1281. this.form.first_end_time = val
  1282. this.form.first_total_time = parseFloat(this.first_total_time ) + parseFloat(this.form.first_disinfection_time)
  1283. },
  1284. sencondstarttime(val){
  1285. this.form.sencond_start_time = val
  1286. this.form.sencond_disinfection_time = this.senconddisinfection_time
  1287. },
  1288. sencondendtime(val){
  1289. this.form.sencond_end_time = val
  1290. this.form.sencond_disinfection_time = this.senconddisinfection_time
  1291. this.form.sencond_total_time = parseFloat(this.sencond_total_time ) + parseFloat(this.form.sencond_disinfection_time)
  1292. },
  1293. thirdstarttime(val){
  1294. this.form.third_start_time = val
  1295. this.form.third_disinfection_time = this.thirddisinfection_time
  1296. },
  1297. thirdendtime(val){
  1298. this.form.third_end_time = val
  1299. this.form.third_disinfection_time = this.thirddisinfection_time
  1300. this.form.third_total_time = parseFloat(this.third_total_time ) + parseFloat(this.form.third_disinfection_time)
  1301. },
  1302. laststarttime(val){
  1303. this.form.last_start_time = val
  1304. this.form.last_disinfection_time = this.lastdisinfection_time
  1305. },
  1306. lastendtime(val){
  1307. this.form.last_end_time = val
  1308. this.form.last_disinfection_time = this.lastdisinfection_time
  1309. this.form.last_total_time = parseFloat(this.last_total_time ) + parseFloat(this.form.last_disinfection_time)
  1310. },
  1311. toSeach(){
  1312. this.getNewAirDisinfectList()
  1313. }
  1314. },
  1315. }
  1316. </script>
  1317. <style lang="scss" scoped>
  1318. .airForm{
  1319. display: flex;
  1320. justify-content: space-between;
  1321. flex-wrap: wrap;
  1322. .el-form-item{
  1323. width:33%;
  1324. }
  1325. .el-date-editor.el-input, .el-date-editor.el-input__inner{
  1326. width: 200px;
  1327. }
  1328. .el-input{
  1329. width: 200px;
  1330. }
  1331. .el-select{
  1332. width: 200px;
  1333. }
  1334. .form_title{
  1335. width: 100%;
  1336. margin-bottom: 10px;
  1337. span{
  1338. font-size: 20px;
  1339. font-weight: bold;
  1340. }
  1341. }
  1342. }
  1343. </style>
  1344. <style lang="scss">
  1345. #main-contain{
  1346. .app-container{
  1347. // display: flex;
  1348. // justify-content: space-between;
  1349. // flex-wrap: wrap;
  1350. .tab_air{
  1351. // 斜杠表格
  1352. .el-table{
  1353. th{
  1354. padding: 0px !important;
  1355. }
  1356. tr:first-of-type th:first-of-type div.cell {
  1357. text-align: right;/*上边文字靠右*/
  1358. }
  1359. tr:last-of-type th:first-of-type div.cell {
  1360. text-align: left;/*下边文字靠左*/
  1361. }
  1362. tr:first-of-type th:first-of-type:before {
  1363. content: "";
  1364. position: absolute;
  1365. width: 1px;
  1366. height: 100px;/*斜线的长度*/
  1367. top: 0;
  1368. left: 75px;
  1369. background-color: rgb(172, 171, 171);
  1370. opacity: 1.2;
  1371. display: block;
  1372. transform: rotate(-47deg);/*调整斜线的角度*/
  1373. -webkit-transform-origin: top;
  1374. transform-origin: top;
  1375. }
  1376. tr:nth-of-type(2) th:nth-of-type(1):before{
  1377. content: "";
  1378. position: absolute;
  1379. width: 1px;
  1380. height: 80px;/*斜线的长度*/
  1381. top: 0;
  1382. left: 100px;
  1383. background-color: rgb(172, 171, 171);
  1384. opacity: 1.2;
  1385. display: block;
  1386. transform: rotate(-47deg);/*调整斜线的角度*/
  1387. -webkit-transform-origin: top;
  1388. transform-origin: top;
  1389. }
  1390. tr:last-of-type th:first-of-type:before {
  1391. content: "";
  1392. position: absolute;
  1393. width: 1px;
  1394. height: 80px;/*斜线的长度*/
  1395. top: 0;
  1396. left: 125px;
  1397. background-color: rgb(172, 171, 171);
  1398. opacity: 1.2;
  1399. display: block;
  1400. transform: rotate(-48deg);/*调整斜线的角度*/
  1401. -webkit-transform-origin: top;
  1402. transform-origin: top;
  1403. }
  1404. tr:nth-of-type(2) th:nth-of-type(1):after{
  1405. content: "";
  1406. position: absolute;
  1407. width: 1px;
  1408. height: 80px;/*斜线的长度*/
  1409. top: 8px;
  1410. left: 0px;
  1411. background-color: rgb(172, 171, 171);
  1412. opacity: 1.2;
  1413. display: block;
  1414. transform: rotate(-76deg);/*调整斜线的角度*/
  1415. -webkit-transform-origin: top;
  1416. transform-origin: top;
  1417. }
  1418. tr:last-of-type th:first-of-type:after {
  1419. content: "";
  1420. position: absolute;
  1421. width: 1px;
  1422. height: 92px;/*斜线的长度*/
  1423. top: 0;
  1424. left: 59px;
  1425. background-color: rgb(172, 171, 171);
  1426. opacity: 1.2;
  1427. display: block;
  1428. transform: rotate(-76deg);/*调整斜线的角度*/
  1429. -webkit-transform-origin: top;
  1430. transform-origin: top;
  1431. }
  1432. }
  1433. .el-table--border th, .el-table__fixed-right-patch {
  1434. border-bottom: none !important;
  1435. }
  1436. .el-table td .cell, .el-table th .cell {
  1437. padding: 0 5px !important;
  1438. }
  1439. // .el-table--medium td, .el-table--medium th {
  1440. // padding: 0px 0px !important;
  1441. // }
  1442. }
  1443. }
  1444. }
  1445. ::-webkit-scrollbar{
  1446. height: 15px;
  1447. }
  1448. </style>