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

airDisinfectTwo.vue 70KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529
  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. DisinfectionMode: [
  900. { id: 1, name: "紫外线" },
  901. { id: 2, name: "等离子" },
  902. { id: 3, name: "臭氧" },
  903. {id:4,name:"含氯剂喷洒500mg/L"},
  904. {id:5,name:"含氯剂喷洒1000mg/L"},
  905. {id:6,name:"通风"}
  906. ],
  907. operators: [],
  908. operatorMaps:{},
  909. firststart:'',
  910. firstend:'',
  911. first_total_time:0,
  912. sencond_total_time:0,
  913. third_total_time:0,
  914. last_total_time:0,
  915. }
  916. },
  917. created(){
  918. this.disinfection_fluid = getManageMentDataConfig('management', 'disinfection_fluid')
  919. console.log("disinfection_fluid",this.disinfection_fluid)
  920. this.getAllDoctorList()
  921. this.getNewAirDisinfectList()
  922. var time=moment(this.form.first_start_time).format("HH:mm");
  923. },
  924. computed:{
  925. firstdisinfection_time (){
  926. let firststart= Date.parse(new Date(this.form.first_start_time))
  927. let firstend= Date.parse(new Date(this.form.first_end_time))
  928. let time_interval = ((firstend - firststart)/(60*60*1000)).toFixed(1)
  929. return time_interval
  930. },
  931. senconddisinfection_time (){
  932. const sencondstart= Date.parse(new Date(this.form.sencond_start_time))
  933. const sencondend= Date.parse(new Date(this.form.sencond_end_time))
  934. const time_interval = ((sencondend - sencondstart)/(60*60*1000)).toFixed(1)
  935. return time_interval
  936. },
  937. thirddisinfection_time (){
  938. const thirdstart= Date.parse(new Date(this.form.third_start_time))
  939. const thirdend= Date.parse(new Date(this.form.third_end_time))
  940. const time_interval = ((thirdend - thirdstart)/(60*60*1000)).toFixed(1)
  941. return time_interval
  942. },
  943. lastdisinfection_time(){
  944. const lasttart= Date.parse(new Date(this.form.last_start_time))
  945. const lastend= Date.parse(new Date(this.form.last_end_time))
  946. const time_interval = ((lastend - lasttart)/(60*60*1000)).toFixed(1)
  947. return time_interval
  948. }
  949. },
  950. methods:{
  951. AddCard(){
  952. getAirDisinfectLongTime().then(response=>{
  953. if(response.data.state == 1){
  954. var list = response.data.data.list
  955. var first_total_time = 0
  956. var sencond_total_time = 0
  957. var third_total_time = 0
  958. var last_total_time = 0
  959. if(list!=null && list.length>0){
  960. for(let i=0;i<list.length;i++){
  961. first_total_time += parseFloat(list[i].first_total_time)
  962. sencond_total_time +=parseFloat(list[i].sencond_total_time)
  963. third_total_time +=parseFloat(list[i].third_total_time)
  964. last_total_time +=parseFloat(list[i].last_total_time)
  965. }
  966. this.form.first_total_time = ""
  967. this.form.first_total_time = first_total_time
  968. this.first_total_time = first_total_time
  969. this.form.sencond_total_time = ""
  970. this.form.sencond_total_time = sencond_total_time
  971. this.sencond_total_time = sencond_total_time
  972. this.form.third_total_time =""
  973. this.form.third_total_time = third_total_time
  974. this.third_total_time = third_total_time
  975. this.form.last_total_time =""
  976. this.form.last_total_time = last_total_time
  977. this.last_total_time = last_total_time
  978. }
  979. this.dialogFormVisible = true
  980. }
  981. })
  982. },
  983. handleSizeChange(val) {
  984. this.limit = val;
  985. this.getNewAirDisinfectList()
  986. },
  987. handleCurrentChange(val) {
  988. this.page = val;
  989. this.getNewAirDisinfectList()
  990. },
  991. changeStartime(val){
  992. this.getNewAirDisinfectList()
  993. },
  994. changeEndtime(){
  995. this.getNewAirDisinfectList()
  996. },
  997. getAllDoctorList(){
  998. getAllDoctorList().then(response=>{
  999. if(response.data.state == 1){
  1000. var list = response.data.data.list
  1001. console.log("list222222",list)
  1002. this.docList = list
  1003. this.operators = response.data.data.operators
  1004. if (this.operators.length > 0) {
  1005. var operatorsLen = this.operators.length
  1006. for (var index = 0; index < operatorsLen; index++) {
  1007. this.$set(
  1008. this.operatorMaps,
  1009. this.operators[index].id,
  1010. this.operators[index]
  1011. )
  1012. }
  1013. }
  1014. }
  1015. })
  1016. },
  1017. saveNewAirDisinfect(formName){
  1018. this.$refs[formName].validate((valid)=>{
  1019. if(valid){
  1020. if(this.form.first_is_check!=""){
  1021. this.form.first_is_check = parseInt(this.form.first_is_check)
  1022. }else{
  1023. this.form.first_is_check = 0
  1024. }
  1025. if( this.form.sencond_is_check!=""){
  1026. this.form.sencond_is_check = parseInt(this.form.sencond_is_check)
  1027. }else{
  1028. this.form.sencond_is_check = ""
  1029. }
  1030. if( this.form.third_is_check!=""){
  1031. this.form.third_is_check = parseInt(this.form.third_is_check)
  1032. }else{
  1033. this.form.third_is_check = 0
  1034. }
  1035. if(this.form.last_is_check!=""){
  1036. this.form.last_is_check = parseInt(this.form.last_is_check)
  1037. }else{
  1038. this.form.last_is_check = 0
  1039. }
  1040. if(this.form.first_modifications!=""){
  1041. this.form.first_modifications = parseInt(this.form.first_modifications)
  1042. }else{
  1043. this.form.first_modifications =0
  1044. }
  1045. if(this.form.sencond_modifications!=""){
  1046. this.form.sencond_modifications = parseInt(this.form.sencond_modifications)
  1047. }else{
  1048. this.form.sencond_modifications =0
  1049. }
  1050. if(this.form.third_modifications!=""){
  1051. this.form.third_modifications = parseInt(this.form.third_modifications)
  1052. }else{
  1053. this.form.third_modifications= 0
  1054. }
  1055. if(this.form.last_modifications!=""){
  1056. this.form.last_modifications = parseInt(this.form.last_modifications)
  1057. }else{
  1058. this.form.last_modifications= 0
  1059. }
  1060. this.form.first_total_time = this.form.first_total_time.toString()
  1061. this.form.sencond_total_time =this.form.sencond_total_time.toString()
  1062. this.form.third_total_time = this.form.third_total_time.toString()
  1063. this.form.last_total_time = this.form.last_total_time.toString()
  1064. console.log("this232322323",this.form)
  1065. saveNewAirDisinfect(this.form).then(response=>{
  1066. if(response.data.state == 1 ){
  1067. var disinfect = response.data.data.disinfect
  1068. this.$message.success("保存成功!")
  1069. this.dialogFormVisible = false
  1070. this.getNewAirDisinfectList()
  1071. this.$refs[formName].resetFields();
  1072. }
  1073. })
  1074. }
  1075. })
  1076. },
  1077. getNewAirDisinfectList(){
  1078. var params = {
  1079. start_time:this.startvalue,
  1080. end_time:this.endvalue,
  1081. limit:this.limit,
  1082. page:this.page,
  1083. }
  1084. console.log("params2332233232w",params)
  1085. getNewAirDisinfectList(params).then(response=>{
  1086. if(response.data.state == 1){
  1087. var list = response.data.data.list
  1088. this.tableData = list
  1089. var total = response.data.data.total
  1090. this.total =total
  1091. }
  1092. })
  1093. },
  1094. getTimes(time) {
  1095. return uParseTime(time, '{y}-{m}-{d}')
  1096. },
  1097. getTimeTwo(time) {
  1098. return uParseTime(time, '{h}:{i}')
  1099. },
  1100. getTimeThree(time) {
  1101. return uParseTime(time, '{y}-{m}-{d} {h}:{i}')
  1102. },
  1103. getName(creator){
  1104. var name = ""
  1105. for(let i=0;i<this.docList.length;i++){
  1106. if(creator == this.docList[i].admin_user_id){
  1107. name = this.docList[i].user_name
  1108. }
  1109. }
  1110. return name
  1111. },
  1112. handleEdit(id){
  1113. getNewAirDisinfectByIdList(id).then(response=>{
  1114. if(response.data.state == 1){
  1115. var list = response.data.data.list
  1116. console.log("list",list)
  1117. this.form.id = list.id
  1118. this.form.record_date = this.getTimes(list.record_date)
  1119. this.form.first_disinfection_water = list.first_disinfection_water?list.first_disinfection_water:""
  1120. this.form.first_disinfection_methods = list.first_disinfection_methods?list.first_disinfection_methods:""
  1121. this.form.first_disinfection_time = list.first_disinfection_time?list.first_disinfection_time:""
  1122. this.form.first_start_time = this.getTimeThree(list.first_start_time)
  1123. this.form.first_end_time = this.getTimeThree(list.first_end_time)
  1124. this.form.first_total_time = list.first_total_time?list.first_total_time:""
  1125. this.form.first_is_check = list.first_is_check.toString()
  1126. this.form.first_modifications = list.first_modifications?list.first_modifications:""
  1127. this.form.first_creator = list.first_creator
  1128. this.form.sencond_disinfection_water = list.sencond_disinfection_water?list.sencond_disinfection_water:""
  1129. this.form.sencond_disinfection_methods = list.sencond_disinfection_methods? list.sencond_disinfection_methods:""
  1130. this.form.sencond_disinfection_time = list.sencond_disinfection_time?list.sencond_disinfection_time:""
  1131. this.form.sencond_start_time = this.getTimeThree(list.sencond_start_time)
  1132. this.form.sencond_end_time = this.getTimeThree(list.sencond_end_time)
  1133. this.form.sencond_total_time = list.sencond_total_time?list.sencond_total_time:""
  1134. this.form.sencond_is_check = list.sencond_is_check.toString()
  1135. this.form.sencond_modifications = list.sencond_modifications?list.sencond_modifications:""
  1136. this.form.sencond_creator = list.sencond_creator
  1137. this.form.third_disinfection_water = list.third_disinfection_water?list.third_disinfection_water:""
  1138. this.form.third_disinfection_methods = list.third_disinfection_methods?list.third_disinfection_methods:""
  1139. this.form.third_disinfection_time = list.third_disinfection_time?list.third_disinfection_time:""
  1140. this.form.third_start_time =this.getTimeThree(list.third_start_time)
  1141. this.form.third_end_time = this.getTimeThree(list.third_end_time)
  1142. this.form.third_total_time = list.third_total_time?list.third_total_time:""
  1143. this.form.third_is_check = list.third_is_check.toString()
  1144. this.form.third_modifications = list.third_modifications?list.third_modifications:""
  1145. this.form.third_creator = list.third_creator
  1146. this.form.last_start_time = this.getTimeThree(list.last_start_time)
  1147. this.form.last_end_time = this.getTimeThree(list.last_end_time)
  1148. this.form.last_total_time = list.last_total_time?list.last_total_time:""
  1149. this.form.last_is_check = list.last_is_check.toString()
  1150. this.form.last_modifications = list.last_modifications?list.last_modifications:""
  1151. this.form.last_creator = list.last_creator
  1152. this.editDialogFormVisible = true
  1153. }
  1154. })
  1155. },
  1156. updateAirDisinfect(formName){
  1157. this.$refs[formName].validate((valid)=>{
  1158. if(valid){
  1159. if(this.form.first_is_check!=""){
  1160. this.form.first_is_check = parseInt(this.form.first_is_check)
  1161. }else{
  1162. this.form.first_is_check = 0
  1163. }
  1164. if( this.form.sencond_is_check!=""){
  1165. this.form.sencond_is_check = parseInt(this.form.sencond_is_check)
  1166. }else{
  1167. this.form.sencond_is_check = ""
  1168. }
  1169. if( this.form.third_is_check!=""){
  1170. this.form.third_is_check = parseInt(this.form.third_is_check)
  1171. }else{
  1172. this.form.third_is_check = 0
  1173. }
  1174. if(this.form.last_is_check!=""){
  1175. this.form.last_is_check = parseInt(this.form.last_is_check)
  1176. }else{
  1177. this.form.last_is_check = 0
  1178. }
  1179. if(this.form.first_modifications!=""){
  1180. this.form.first_modifications = parseInt(this.form.first_modifications)
  1181. }else{
  1182. this.form.first_modifications =0
  1183. }
  1184. if(this.form.sencond_modifications!=""){
  1185. this.form.sencond_modifications = parseInt(this.form.sencond_modifications)
  1186. }else{
  1187. this.form.sencond_modifications =0
  1188. }
  1189. if(this.form.third_modifications!=""){
  1190. this.form.third_modifications = parseInt(this.form.third_modifications)
  1191. }else{
  1192. this.form.third_modifications= 0
  1193. }
  1194. if(this.form.last_modifications!=""){
  1195. this.form.last_modifications = parseInt(this.form.last_modifications)
  1196. }else{
  1197. this.form.last_modifications= 0
  1198. }
  1199. console.log("23333333333333",this.form.first_total_time)
  1200. if( this.form.first_total_time > 0){
  1201. this.form.first_total_time = this.form.first_total_time.toString()
  1202. }
  1203. if( this.form.sencond_total_time > 0){
  1204. this.form.sencond_total_time = this.form.sencond_total_time.toString()
  1205. }
  1206. if( this.form.third_total_time > 0){
  1207. this.form.third_total_time = this.form.third_total_time.toString()
  1208. }
  1209. if(this.form.last_total_time >0){
  1210. this.form.last_total_time = this.form.last_total_time.toString()
  1211. }
  1212. console.log("form23333333333333333wo",this.form)
  1213. updateNewAirDisinfect(this.form).then(response=>{
  1214. if(response.data.state == 1){
  1215. var disinfect = response.data.data.disinfect
  1216. this.editDialogFormVisible = false
  1217. this.getNewAirDisinfectList()
  1218. this.$refs[formName].resetFields()
  1219. }
  1220. })
  1221. }
  1222. })
  1223. },
  1224. handleDelete(id){
  1225. deleteNewAirDisInfect(id).then(response=>{
  1226. if(response.data.state == 1){
  1227. var msg = response.data.data.msg
  1228. this.$message.success("删除成功!")
  1229. this.getNewAirDisinfectList()
  1230. }
  1231. })
  1232. },
  1233. printCard() {
  1234. this.hiddenShow = true;
  1235. var ptime = Math.round(new Date().getTime() / 1000);
  1236. this.print_time = uParseTime(ptime, "{y}年{m}月{d}日");
  1237. const style =
  1238. "@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}";
  1239. setTimeout(() => {
  1240. printJS({
  1241. printable: "print-card-info",
  1242. type: "html",
  1243. style: style,
  1244. scanStyles: false
  1245. });
  1246. }, 1);
  1247. },
  1248. setAdminUserES(id) {
  1249. if (id === 0) {
  1250. return ''
  1251. }
  1252. var user_name = ""
  1253. for(let i=0;i<this.operators.length;i++){
  1254. if(id == this.operators[i].admin_user_id){
  1255. user_name = this.operators[i].url
  1256. }
  1257. }
  1258. return user_name
  1259. // if (id in this.operatorMaps) {
  1260. // return this.operatorMaps[id].url
  1261. // } else {
  1262. // return ''
  1263. // }
  1264. },
  1265. firststartime(val){
  1266. this.form.first_start_time = val
  1267. this.form.first_disinfection_time = this.firstdisinfection_time
  1268. },
  1269. firstendtime(val){
  1270. this.form.first_disinfection_time = this.firstdisinfection_time
  1271. this.form.first_end_time = val
  1272. this.form.first_total_time = parseFloat(this.first_total_time ) + parseFloat(this.form.first_disinfection_time)
  1273. },
  1274. sencondstarttime(val){
  1275. this.form.sencond_start_time = val
  1276. this.form.sencond_disinfection_time = this.senconddisinfection_time
  1277. },
  1278. sencondendtime(val){
  1279. this.form.sencond_end_time = val
  1280. this.form.sencond_disinfection_time = this.senconddisinfection_time
  1281. this.form.sencond_total_time = parseFloat(this.sencond_total_time ) + parseFloat(this.form.sencond_disinfection_time)
  1282. },
  1283. thirdstarttime(val){
  1284. this.form.third_start_time = val
  1285. this.form.third_disinfection_time = this.thirddisinfection_time
  1286. },
  1287. thirdendtime(val){
  1288. this.form.third_end_time = val
  1289. this.form.third_disinfection_time = this.thirddisinfection_time
  1290. this.form.third_total_time = parseFloat(this.third_total_time ) + parseFloat(this.form.third_disinfection_time)
  1291. },
  1292. laststarttime(val){
  1293. this.form.last_start_time = val
  1294. this.form.last_disinfection_time = this.lastdisinfection_time
  1295. },
  1296. lastendtime(val){
  1297. this.form.last_end_time = val
  1298. this.form.last_disinfection_time = this.lastdisinfection_time
  1299. this.form.last_total_time = parseFloat(this.last_total_time ) + parseFloat(this.form.last_disinfection_time)
  1300. },
  1301. toSeach(){
  1302. this.getNewAirDisinfectList()
  1303. }
  1304. },
  1305. }
  1306. </script>
  1307. <style lang="scss" scoped>
  1308. .airForm{
  1309. display: flex;
  1310. justify-content: space-between;
  1311. flex-wrap: wrap;
  1312. .el-form-item{
  1313. width:33%;
  1314. }
  1315. .el-date-editor.el-input, .el-date-editor.el-input__inner{
  1316. width: 200px;
  1317. }
  1318. .el-input{
  1319. width: 200px;
  1320. }
  1321. .el-select{
  1322. width: 200px;
  1323. }
  1324. .form_title{
  1325. width: 100%;
  1326. margin-bottom: 10px;
  1327. span{
  1328. font-size: 20px;
  1329. font-weight: bold;
  1330. }
  1331. }
  1332. }
  1333. </style>
  1334. <style lang="scss">
  1335. #main-contain{
  1336. .app-container{
  1337. // display: flex;
  1338. // justify-content: space-between;
  1339. // flex-wrap: wrap;
  1340. .tab_air{
  1341. // 斜杠表格
  1342. .el-table{
  1343. th{
  1344. padding: 0px !important;
  1345. }
  1346. tr:first-of-type th:first-of-type div.cell {
  1347. text-align: right;/*上边文字靠右*/
  1348. }
  1349. tr:last-of-type th:first-of-type div.cell {
  1350. text-align: left;/*下边文字靠左*/
  1351. }
  1352. tr:first-of-type th:first-of-type:before {
  1353. content: "";
  1354. position: absolute;
  1355. width: 1px;
  1356. height: 100px;/*斜线的长度*/
  1357. top: 0;
  1358. left: 75px;
  1359. background-color: rgb(172, 171, 171);
  1360. opacity: 1.2;
  1361. display: block;
  1362. transform: rotate(-47deg);/*调整斜线的角度*/
  1363. -webkit-transform-origin: top;
  1364. transform-origin: top;
  1365. }
  1366. tr:nth-of-type(2) th:nth-of-type(1):before{
  1367. content: "";
  1368. position: absolute;
  1369. width: 1px;
  1370. height: 80px;/*斜线的长度*/
  1371. top: 0;
  1372. left: 100px;
  1373. background-color: rgb(172, 171, 171);
  1374. opacity: 1.2;
  1375. display: block;
  1376. transform: rotate(-47deg);/*调整斜线的角度*/
  1377. -webkit-transform-origin: top;
  1378. transform-origin: top;
  1379. }
  1380. tr:last-of-type th:first-of-type:before {
  1381. content: "";
  1382. position: absolute;
  1383. width: 1px;
  1384. height: 80px;/*斜线的长度*/
  1385. top: 0;
  1386. left: 125px;
  1387. background-color: rgb(172, 171, 171);
  1388. opacity: 1.2;
  1389. display: block;
  1390. transform: rotate(-48deg);/*调整斜线的角度*/
  1391. -webkit-transform-origin: top;
  1392. transform-origin: top;
  1393. }
  1394. tr:nth-of-type(2) th:nth-of-type(1):after{
  1395. content: "";
  1396. position: absolute;
  1397. width: 1px;
  1398. height: 80px;/*斜线的长度*/
  1399. top: 8px;
  1400. left: 0px;
  1401. background-color: rgb(172, 171, 171);
  1402. opacity: 1.2;
  1403. display: block;
  1404. transform: rotate(-76deg);/*调整斜线的角度*/
  1405. -webkit-transform-origin: top;
  1406. transform-origin: top;
  1407. }
  1408. tr:last-of-type th:first-of-type:after {
  1409. content: "";
  1410. position: absolute;
  1411. width: 1px;
  1412. height: 92px;/*斜线的长度*/
  1413. top: 0;
  1414. left: 59px;
  1415. background-color: rgb(172, 171, 171);
  1416. opacity: 1.2;
  1417. display: block;
  1418. transform: rotate(-76deg);/*调整斜线的角度*/
  1419. -webkit-transform-origin: top;
  1420. transform-origin: top;
  1421. }
  1422. }
  1423. .el-table--border th, .el-table__fixed-right-patch {
  1424. border-bottom: none !important;
  1425. }
  1426. .el-table td .cell, .el-table th .cell {
  1427. padding: 0 5px !important;
  1428. }
  1429. // .el-table--medium td, .el-table--medium th {
  1430. // padding: 0px 0px !important;
  1431. // }
  1432. }
  1433. }
  1434. }
  1435. ::-webkit-scrollbar{
  1436. height: 15px;
  1437. }
  1438. </style>