index.vue 57 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
  4. <el-form-item label="装置名称" prop="plantCode">
  5. <el-input
  6. v-model="queryParams.plantCode"
  7. placeholder="请输入装置名称"
  8. clearable
  9. size="small"
  10. @keyup.enter.native="handleQuery"
  11. />
  12. </el-form-item>
  13. <el-form-item label="单元" prop="unit">
  14. <el-input
  15. v-model="queryParams.unit"
  16. placeholder="请输入单元"
  17. clearable
  18. size="small"
  19. @keyup.enter.native="handleQuery"
  20. />
  21. </el-form-item>
  22. <el-form-item label="设备名称" prop="devname">
  23. <el-input
  24. v-model="queryParams.devname"
  25. placeholder="请输入设备名称"
  26. clearable
  27. size="small"
  28. @keyup.enter.native="handleQuery"
  29. />
  30. </el-form-item>
  31. <el-form-item label="设备位号" prop="devno">
  32. <el-input
  33. v-model="queryParams.devno"
  34. placeholder="请输入设备位号"
  35. clearable
  36. size="small"
  37. @keyup.enter.native="handleQuery"
  38. />
  39. </el-form-item>
  40. <el-form-item label="投用年月" prop="submitdate">
  41. <el-date-picker clearable size="small" style="width: 200px"
  42. v-model="queryParams.submitdate"
  43. type="date"
  44. value-format="yyyy-MM-dd"
  45. placeholder="选择投用年月">
  46. </el-date-picker>
  47. </el-form-item>
  48. <el-form-item label="状态" prop="status">
  49. <el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
  50. <el-option
  51. v-for="dict in statusOptions"
  52. :key="dict.dictValue"
  53. :label="dict.dictLabel"
  54. :value="dict.dictValue"
  55. />
  56. </el-select>
  57. </el-form-item>
  58. <el-form-item label="创建人" prop="createrCode">
  59. <el-input
  60. v-model="queryParams.createrCode"
  61. placeholder="请输入创建人"
  62. clearable
  63. size="small"
  64. @keyup.enter.native="handleQuery"
  65. />
  66. </el-form-item>
  67. <el-form-item label="创建时间" prop="createdate">
  68. <el-date-picker clearable size="small" style="width: 200px"
  69. v-model="queryParams.createdate"
  70. type="date"
  71. value-format="yyyy-MM-dd"
  72. placeholder="选择创建时间">
  73. </el-date-picker>
  74. </el-form-item>
  75. <el-form-item label="修改人" prop="updaterCode">
  76. <el-input
  77. v-model="queryParams.updaterCode"
  78. placeholder="请输入修改人"
  79. clearable
  80. size="small"
  81. @keyup.enter.native="handleQuery"
  82. />
  83. </el-form-item>
  84. <el-form-item label="修改时间" prop="updatedate">
  85. <el-date-picker clearable size="small" style="width: 200px"
  86. v-model="queryParams.updatedate"
  87. type="date"
  88. value-format="yyyy-MM-dd"
  89. placeholder="选择修改时间">
  90. </el-date-picker>
  91. </el-form-item>
  92. <el-form-item label="部门编号" prop="deptId">
  93. <el-input
  94. v-model="queryParams.deptId"
  95. placeholder="请输入部门编号"
  96. clearable
  97. size="small"
  98. @keyup.enter.native="handleQuery"
  99. />
  100. </el-form-item>
  101. <el-form-item label="备注" prop="remarks">
  102. <el-input
  103. v-model="queryParams.remarks"
  104. placeholder="请输入备注"
  105. clearable
  106. size="small"
  107. @keyup.enter.native="handleQuery"
  108. />
  109. </el-form-item>
  110. <el-form-item label="审核状态" prop="approveStatus">
  111. <el-select v-model="queryParams.approveStatus" placeholder="请选择审核状态" clearable size="small">
  112. <el-option
  113. v-for="dict in approveStatusOptions"
  114. :key="dict.dictValue"
  115. :label="dict.dictLabel"
  116. :value="dict.dictValue"
  117. />
  118. </el-select>
  119. </el-form-item>
  120. <el-form-item label="注册代码" prop="regno">
  121. <el-input
  122. v-model="queryParams.regno"
  123. placeholder="请输入注册代码"
  124. clearable
  125. size="small"
  126. @keyup.enter.native="handleQuery"
  127. />
  128. </el-form-item>
  129. <el-form-item label="使用证编号" prop="useno">
  130. <el-input
  131. v-model="queryParams.useno"
  132. placeholder="请输入使用证编号"
  133. clearable
  134. size="small"
  135. @keyup.enter.native="handleQuery"
  136. />
  137. </el-form-item>
  138. <el-form-item label="上次年检时间" prop="warnDate">
  139. <el-date-picker clearable size="small" style="width: 200px"
  140. v-model="queryParams.warnDate"
  141. type="date"
  142. value-format="yyyy-MM-dd"
  143. placeholder="选择上次年检时间">
  144. </el-date-picker>
  145. </el-form-item>
  146. <el-form-item label="检测周期" prop="warnCycle">
  147. <el-input
  148. v-model="queryParams.warnCycle"
  149. placeholder="请输入检测周期"
  150. clearable
  151. size="small"
  152. @keyup.enter.native="handleQuery"
  153. />
  154. </el-form-item>
  155. <el-form-item label="下次年检时间" prop="nextWarnDate">
  156. <el-date-picker clearable size="small" style="width: 200px"
  157. v-model="queryParams.nextWarnDate"
  158. type="date"
  159. value-format="yyyy-MM-dd"
  160. placeholder="选择下次年检时间">
  161. </el-date-picker>
  162. </el-form-item>
  163. <el-form-item label="预警标识" prop="warnFlag">
  164. <el-input
  165. v-model="queryParams.warnFlag"
  166. placeholder="请输入预警标识"
  167. clearable
  168. size="small"
  169. @keyup.enter.native="handleQuery"
  170. />
  171. </el-form-item>
  172. <el-form-item label="管道级别" prop="grade">
  173. <el-input
  174. v-model="queryParams.grade"
  175. placeholder="请输入管道级别"
  176. clearable
  177. size="small"
  178. @keyup.enter.native="handleQuery"
  179. />
  180. </el-form-item>
  181. <el-form-item label="设计单位" prop="designer">
  182. <el-input
  183. v-model="queryParams.designer"
  184. placeholder="请输入设计单位"
  185. clearable
  186. size="small"
  187. @keyup.enter.native="handleQuery"
  188. />
  189. </el-form-item>
  190. <el-form-item label="安装单位" prop="installer">
  191. <el-input
  192. v-model="queryParams.installer"
  193. placeholder="请输入安装单位"
  194. clearable
  195. size="small"
  196. @keyup.enter.native="handleQuery"
  197. />
  198. </el-form-item>
  199. <el-form-item label="材质" prop="material">
  200. <el-input
  201. v-model="queryParams.material"
  202. placeholder="请输入材质"
  203. clearable
  204. size="small"
  205. @keyup.enter.native="handleQuery"
  206. />
  207. </el-form-item>
  208. <el-form-item label="直径" prop="dia">
  209. <el-input
  210. v-model="queryParams.dia"
  211. placeholder="请输入直径"
  212. clearable
  213. size="small"
  214. @keyup.enter.native="handleQuery"
  215. />
  216. </el-form-item>
  217. <el-form-item label="厚度等级" prop="scheduleNo">
  218. <el-input
  219. v-model="queryParams.scheduleNo"
  220. placeholder="请输入厚度等级"
  221. clearable
  222. size="small"
  223. @keyup.enter.native="handleQuery"
  224. />
  225. </el-form-item>
  226. <el-form-item label="长度" prop="length">
  227. <el-input
  228. v-model="queryParams.length"
  229. placeholder="请输入长度"
  230. clearable
  231. size="small"
  232. @keyup.enter.native="handleQuery"
  233. />
  234. </el-form-item>
  235. <el-form-item label="起点" prop="starting">
  236. <el-input
  237. v-model="queryParams.starting"
  238. placeholder="请输入起点"
  239. clearable
  240. size="small"
  241. @keyup.enter.native="handleQuery"
  242. />
  243. </el-form-item>
  244. <el-form-item label="终点" prop="ending">
  245. <el-input
  246. v-model="queryParams.ending"
  247. placeholder="请输入终点"
  248. clearable
  249. size="small"
  250. @keyup.enter.native="handleQuery"
  251. />
  252. </el-form-item>
  253. <el-form-item label="设计压力" prop="desPressure">
  254. <el-input
  255. v-model="queryParams.desPressure"
  256. placeholder="请输入设计压力"
  257. clearable
  258. size="small"
  259. @keyup.enter.native="handleQuery"
  260. />
  261. </el-form-item>
  262. <el-form-item label="设计温度" prop="desTemp">
  263. <el-input
  264. v-model="queryParams.desTemp"
  265. placeholder="请输入设计温度"
  266. clearable
  267. size="small"
  268. @keyup.enter.native="handleQuery"
  269. />
  270. </el-form-item>
  271. <el-form-item label="工作压力" prop="optPressure">
  272. <el-input
  273. v-model="queryParams.optPressure"
  274. placeholder="请输入工作压力"
  275. clearable
  276. size="small"
  277. @keyup.enter.native="handleQuery"
  278. />
  279. </el-form-item>
  280. <el-form-item label="工作温度" prop="optTemp">
  281. <el-input
  282. v-model="queryParams.optTemp"
  283. placeholder="请输入工作温度"
  284. clearable
  285. size="small"
  286. @keyup.enter.native="handleQuery"
  287. />
  288. </el-form-item>
  289. <el-form-item label="介质" prop="medium">
  290. <el-input
  291. v-model="queryParams.medium"
  292. placeholder="请输入介质"
  293. clearable
  294. size="small"
  295. @keyup.enter.native="handleQuery"
  296. />
  297. </el-form-item>
  298. <el-form-item label="年度检查结论" prop="checkConclusion">
  299. <el-input
  300. v-model="queryParams.checkConclusion"
  301. placeholder="请输入年度检查结论"
  302. clearable
  303. size="small"
  304. @keyup.enter.native="handleQuery"
  305. />
  306. </el-form-item>
  307. <el-form-item label="检验单位" prop="checkUnit">
  308. <el-input
  309. v-model="queryParams.checkUnit"
  310. placeholder="请输入检验单位"
  311. clearable
  312. size="small"
  313. @keyup.enter.native="handleQuery"
  314. />
  315. </el-form-item>
  316. <el-form-item label="安全状况等级" prop="safeClass">
  317. <el-input
  318. v-model="queryParams.safeClass"
  319. placeholder="请输入安全状况等级"
  320. clearable
  321. size="small"
  322. @keyup.enter.native="handleQuery"
  323. />
  324. </el-form-item>
  325. <el-form-item label="报告编号" prop="reportNo">
  326. <el-input
  327. v-model="queryParams.reportNo"
  328. placeholder="请输入报告编号"
  329. clearable
  330. size="small"
  331. @keyup.enter.native="handleQuery"
  332. />
  333. </el-form-item>
  334. <el-form-item label="最新申请时间" prop="approveTime">
  335. <el-date-picker clearable size="small" style="width: 200px"
  336. v-model="queryParams.approveTime"
  337. type="date"
  338. value-format="yyyy-MM-dd"
  339. placeholder="选择最新申请时间">
  340. </el-date-picker>
  341. </el-form-item>
  342. <el-form-item label="状态修改时间" prop="changeTime">
  343. <el-date-picker clearable size="small" style="width: 200px"
  344. v-model="queryParams.changeTime"
  345. type="date"
  346. value-format="yyyy-MM-dd"
  347. placeholder="选择状态修改时间">
  348. </el-date-picker>
  349. </el-form-item>
  350. <el-form-item label="PM维修组" prop="plantMaint">
  351. <el-input
  352. v-model="queryParams.plantMaint"
  353. placeholder="请输入PM维修组"
  354. clearable
  355. size="small"
  356. @keyup.enter.native="handleQuery"
  357. />
  358. </el-form-item>
  359. <el-form-item label="装置维修工程师" prop="engineer">
  360. <el-input
  361. v-model="queryParams.engineer"
  362. placeholder="请输入装置维修工程师"
  363. clearable
  364. size="small"
  365. @keyup.enter.native="handleQuery"
  366. />
  367. </el-form-item>
  368. <el-form-item label="焊口数量" prop="weldNumber">
  369. <el-input
  370. v-model="queryParams.weldNumber"
  371. placeholder="请输入焊口数量"
  372. clearable
  373. size="small"
  374. @keyup.enter.native="handleQuery"
  375. />
  376. </el-form-item>
  377. <el-form-item label="敷设方式" prop="layingMethod">
  378. <el-input
  379. v-model="queryParams.layingMethod"
  380. placeholder="请输入敷设方式"
  381. clearable
  382. size="small"
  383. @keyup.enter.native="handleQuery"
  384. />
  385. </el-form-item>
  386. <el-form-item label="绝热层代码" prop="adiabatic">
  387. <el-input
  388. v-model="queryParams.adiabatic"
  389. placeholder="请输入绝热层代码"
  390. clearable
  391. size="small"
  392. @keyup.enter.native="handleQuery"
  393. />
  394. </el-form-item>
  395. <el-form-item label="防腐层代码" prop="antiCorrosion">
  396. <el-input
  397. v-model="queryParams.antiCorrosion"
  398. placeholder="请输入防腐层代码"
  399. clearable
  400. size="small"
  401. @keyup.enter.native="handleQuery"
  402. />
  403. </el-form-item>
  404. <el-form-item label="绝热层厚度" prop="adiabaticThickness">
  405. <el-input
  406. v-model="queryParams.adiabaticThickness"
  407. placeholder="请输入绝热层厚度"
  408. clearable
  409. size="small"
  410. @keyup.enter.native="handleQuery"
  411. />
  412. </el-form-item>
  413. <el-form-item label="是否涉危化品" prop="isDanger">
  414. <el-input
  415. v-model="queryParams.isDanger"
  416. placeholder="请输入是否涉危化品"
  417. clearable
  418. size="small"
  419. @keyup.enter.native="handleQuery"
  420. />
  421. </el-form-item>
  422. <el-form-item label="安装日期" prop="installDate">
  423. <el-date-picker clearable size="small" style="width: 200px"
  424. v-model="queryParams.installDate"
  425. type="date"
  426. value-format="yyyy-MM-dd"
  427. placeholder="选择安装日期">
  428. </el-date-picker>
  429. </el-form-item>
  430. <el-form-item label="年度检查日期" prop="yearWarnDate">
  431. <el-date-picker clearable size="small" style="width: 200px"
  432. v-model="queryParams.yearWarnDate"
  433. type="date"
  434. value-format="yyyy-MM-dd"
  435. placeholder="选择年度检查日期">
  436. </el-date-picker>
  437. </el-form-item>
  438. <el-form-item label="年度检查日期" prop="yearNextWarnDate">
  439. <el-date-picker clearable size="small" style="width: 200px"
  440. v-model="queryParams.yearNextWarnDate"
  441. type="date"
  442. value-format="yyyy-MM-dd"
  443. placeholder="选择年度检查日期">
  444. </el-date-picker>
  445. </el-form-item>
  446. <el-form-item label="年度检查报告编号" prop="yearReportNo">
  447. <el-input
  448. v-model="queryParams.yearReportNo"
  449. placeholder="请输入年度检查报告编号"
  450. clearable
  451. size="small"
  452. @keyup.enter.native="handleQuery"
  453. />
  454. </el-form-item>
  455. <el-form-item label="管道编号是否变色" prop="isRepeat">
  456. <el-select v-model="queryParams.isRepeat" placeholder="请选择管道编号是否变色" clearable size="small">
  457. <el-option
  458. v-for="dict in isRepeatOptions"
  459. :key="dict.dictValue"
  460. :label="dict.dictLabel"
  461. :value="dict.dictValue"
  462. />
  463. </el-select>
  464. </el-form-item>
  465. <el-form-item label="种类" prop="type">
  466. <el-select v-model="queryParams.type" placeholder="请选择种类" clearable size="small">
  467. <el-option
  468. v-for="dict in typeOptions"
  469. :key="dict.dictValue"
  470. :label="dict.dictLabel"
  471. :value="dict.dictValue"
  472. />
  473. </el-select>
  474. </el-form-item>
  475. <el-form-item label="安装位置" prop="position">
  476. <el-input
  477. v-model="queryParams.position"
  478. placeholder="请输入安装位置"
  479. clearable
  480. size="small"
  481. @keyup.enter.native="handleQuery"
  482. />
  483. </el-form-item>
  484. <el-form-item label="尺寸" prop="deviceSize">
  485. <el-input
  486. v-model="queryParams.deviceSize"
  487. placeholder="请输入尺寸"
  488. clearable
  489. size="small"
  490. @keyup.enter.native="handleQuery"
  491. />
  492. </el-form-item>
  493. <el-form-item label="泄空方式" prop="leakageMode">
  494. <el-input
  495. v-model="queryParams.leakageMode"
  496. placeholder="请输入泄空方式"
  497. clearable
  498. size="small"
  499. @keyup.enter.native="handleQuery"
  500. />
  501. </el-form-item>
  502. <el-form-item label="档案" prop="archives">
  503. <el-input
  504. v-model="queryParams.archives"
  505. placeholder="请输入档案"
  506. clearable
  507. size="small"
  508. @keyup.enter.native="handleQuery"
  509. />
  510. </el-form-item>
  511. <el-form-item>
  512. <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
  513. <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
  514. </el-form-item>
  515. </el-form>
  516. <el-row :gutter="10" class="mb8">
  517. <el-col :span="1.5">
  518. <el-button
  519. type="primary"
  520. icon="el-icon-plus"
  521. size="mini"
  522. @click="handleAdd"
  523. v-hasPermi="['intact:pump:add']"
  524. >新增</el-button>
  525. </el-col>
  526. <el-col :span="1.5">
  527. <el-button
  528. type="success"
  529. icon="el-icon-edit"
  530. size="mini"
  531. :disabled="single"
  532. @click="handleUpdate"
  533. v-hasPermi="['intact:pump:edit']"
  534. >修改</el-button>
  535. </el-col>
  536. <el-col :span="1.5">
  537. <el-button
  538. type="danger"
  539. icon="el-icon-delete"
  540. size="mini"
  541. :disabled="multiple"
  542. @click="handleDelete"
  543. v-hasPermi="['intact:pump:remove']"
  544. >删除</el-button>
  545. </el-col>
  546. <el-col :span="1.5">
  547. <el-button
  548. type="info"
  549. icon="el-icon-upload2"
  550. size="mini"
  551. @click="handleImport"
  552. v-hasPermi="['intact:pump:edit']"
  553. >导入</el-button>
  554. </el-col>
  555. <el-col :span="1.5">
  556. <el-button
  557. type="warning"
  558. icon="el-icon-download"
  559. size="mini"
  560. @click="handleExport"
  561. v-hasPermi="['intact:pump:export']"
  562. >导出</el-button>
  563. </el-col>
  564. <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
  565. </el-row>
  566. <el-table v-loading="loading" :data="pumpList" @selection-change="handleSelectionChange" :height="clientHeight" border>
  567. <el-table-column type="selection" width="55" align="center" />
  568. <el-table-column label="装置名称" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
  569. <el-table-column label="单元" align="center" prop="unit" :show-overflow-tooltip="true"/>
  570. <el-table-column label="设备名称" align="center" prop="devname" :show-overflow-tooltip="true"/>
  571. <el-table-column label="设备位号" align="center" prop="devno" :show-overflow-tooltip="true"/>
  572. <el-table-column label="投用年月" align="center" prop="submitdate" width="100">
  573. <template slot-scope="scope">
  574. <span>{{ parseTime(scope.row.submitdate, '{y}-{m}-{d}') }}</span>
  575. </template>
  576. </el-table-column>
  577. <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
  578. <el-table-column label="创建人" align="center" prop="createrCode" :show-overflow-tooltip="true"/>
  579. <el-table-column label="创建时间" align="center" prop="createdate" width="100">
  580. <template slot-scope="scope">
  581. <span>{{ parseTime(scope.row.createdate, '{y}-{m}-{d}') }}</span>
  582. </template>
  583. </el-table-column>
  584. <el-table-column label="修改人" align="center" prop="updaterCode" :show-overflow-tooltip="true"/>
  585. <el-table-column label="修改时间" align="center" prop="updatedate" width="100">
  586. <template slot-scope="scope">
  587. <span>{{ parseTime(scope.row.updatedate, '{y}-{m}-{d}') }}</span>
  588. </template>
  589. </el-table-column>
  590. <el-table-column label="部门编号" align="center" prop="deptId" :show-overflow-tooltip="true"/>
  591. <el-table-column label="备注" align="center" prop="remarks" :show-overflow-tooltip="true"/>
  592. <el-table-column label="审核状态" align="center" prop="approveStatus" :formatter="approveStatusFormat" />
  593. <el-table-column label="注册代码" align="center" prop="regno" :show-overflow-tooltip="true"/>
  594. <el-table-column label="使用证编号" align="center" prop="useno" :show-overflow-tooltip="true"/>
  595. <el-table-column label="上次年检时间" align="center" prop="warnDate" width="100">
  596. <template slot-scope="scope">
  597. <span>{{ parseTime(scope.row.warnDate, '{y}-{m}-{d}') }}</span>
  598. </template>
  599. </el-table-column>
  600. <el-table-column label="检测周期" align="center" prop="warnCycle" :show-overflow-tooltip="true"/>
  601. <el-table-column label="下次年检时间" align="center" prop="nextWarnDate" width="100">
  602. <template slot-scope="scope">
  603. <span>{{ parseTime(scope.row.nextWarnDate, '{y}-{m}-{d}') }}</span>
  604. </template>
  605. </el-table-column>
  606. <el-table-column label="预警标识" align="center" prop="warnFlag" :formatter="warnFlagFormat" />
  607. <el-table-column label="管道级别" align="center" prop="grade" :show-overflow-tooltip="true"/>
  608. <el-table-column label="设计单位" align="center" prop="designer" :show-overflow-tooltip="true"/>
  609. <el-table-column label="安装单位" align="center" prop="installer" :show-overflow-tooltip="true"/>
  610. <el-table-column label="材质" align="center" prop="material" :show-overflow-tooltip="true"/>
  611. <el-table-column label="直径" align="center" prop="dia" :show-overflow-tooltip="true"/>
  612. <el-table-column label="厚度等级" align="center" prop="scheduleNo" :show-overflow-tooltip="true"/>
  613. <el-table-column label="长度" align="center" prop="length" :show-overflow-tooltip="true"/>
  614. <el-table-column label="起点" align="center" prop="starting" :show-overflow-tooltip="true"/>
  615. <el-table-column label="终点" align="center" prop="ending" :show-overflow-tooltip="true"/>
  616. <el-table-column label="设计压力" align="center" prop="desPressure" :show-overflow-tooltip="true"/>
  617. <el-table-column label="设计温度" align="center" prop="desTemp" :show-overflow-tooltip="true"/>
  618. <el-table-column label="工作压力" align="center" prop="optPressure" :show-overflow-tooltip="true"/>
  619. <el-table-column label="工作温度" align="center" prop="optTemp" :show-overflow-tooltip="true"/>
  620. <el-table-column label="介质" align="center" prop="medium" :show-overflow-tooltip="true"/>
  621. <el-table-column label="年度检查结论" align="center" prop="checkConclusion" :show-overflow-tooltip="true"/>
  622. <el-table-column label="检验单位" align="center" prop="checkUnit" :show-overflow-tooltip="true"/>
  623. <el-table-column label="安全状况等级" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
  624. <el-table-column label="报告编号" align="center" prop="reportNo" :show-overflow-tooltip="true"/>
  625. <el-table-column label="最新申请时间" align="center" prop="approveTime" width="100">
  626. <template slot-scope="scope">
  627. <span>{{ parseTime(scope.row.approveTime, '{y}-{m}-{d}') }}</span>
  628. </template>
  629. </el-table-column>
  630. <el-table-column label="状态修改时间" align="center" prop="changeTime" width="100">
  631. <template slot-scope="scope">
  632. <span>{{ parseTime(scope.row.changeTime, '{y}-{m}-{d}') }}</span>
  633. </template>
  634. </el-table-column>
  635. <el-table-column label="PM维修组" align="center" prop="plantMaint" :show-overflow-tooltip="true"/>
  636. <el-table-column label="装置维修工程师" align="center" prop="engineer" :show-overflow-tooltip="true"/>
  637. <el-table-column label="焊口数量" align="center" prop="weldNumber" :show-overflow-tooltip="true"/>
  638. <el-table-column label="敷设方式" align="center" prop="layingMethod" :show-overflow-tooltip="true"/>
  639. <el-table-column label="绝热层代码" align="center" prop="adiabatic" :show-overflow-tooltip="true"/>
  640. <el-table-column label="防腐层代码" align="center" prop="antiCorrosion" :show-overflow-tooltip="true"/>
  641. <el-table-column label="绝热层厚度" align="center" prop="adiabaticThickness" :show-overflow-tooltip="true"/>
  642. <el-table-column label="是否涉危化品" align="center" prop="isDanger" :show-overflow-tooltip="true"/>
  643. <el-table-column label="安装日期" align="center" prop="installDate" width="100">
  644. <template slot-scope="scope">
  645. <span>{{ parseTime(scope.row.installDate, '{y}-{m}-{d}') }}</span>
  646. </template>
  647. </el-table-column>
  648. <el-table-column label="年度检查日期" align="center" prop="yearWarnDate" width="100">
  649. <template slot-scope="scope">
  650. <span>{{ parseTime(scope.row.yearWarnDate, '{y}-{m}-{d}') }}</span>
  651. </template>
  652. </el-table-column>
  653. <el-table-column label="年度检查日期" align="center" prop="yearNextWarnDate" width="100">
  654. <template slot-scope="scope">
  655. <span>{{ parseTime(scope.row.yearNextWarnDate, '{y}-{m}-{d}') }}</span>
  656. </template>
  657. </el-table-column>
  658. <el-table-column label="年度检查报告编号" align="center" prop="yearReportNo" :show-overflow-tooltip="true"/>
  659. <el-table-column label="管道编号是否变色" align="center" prop="isRepeat" :formatter="isRepeatFormat" />
  660. <el-table-column label="种类" align="center" prop="type" :formatter="typeFormat" />
  661. <el-table-column label="安装位置" align="center" prop="position" :show-overflow-tooltip="true"/>
  662. <el-table-column label="尺寸" align="center" prop="deviceSize" :show-overflow-tooltip="true"/>
  663. <el-table-column label="泄空方式" align="center" prop="leakageMode" :show-overflow-tooltip="true"/>
  664. <el-table-column :label="$t('操作')" align="center" fixed="right" width="240" class-name="small-padding fixed-width">
  665. <template slot-scope="scope">
  666. <el-button
  667. type="text"
  668. size="mini"
  669. @click="addAprrove(scope.row,devType)"
  670. >{{ $t('提交变更申请') }}</el-button>
  671. <el-button
  672. v-if="scope.row.approveTime != null"
  673. type="text"
  674. size="small"
  675. @click="hisApprove(scope.row,devType)">
  676. {{ $t('变更记录') }}</el-button>
  677. <el-button
  678. v-if="scope.row.approveTime != null"
  679. type="text"
  680. size="mini"
  681. @click="hisApprove2(scope.row,devType2)"
  682. > {{ $t('维修记录') }}<br>
  683. </el-button>
  684. <el-button
  685. type="text"
  686. size="mini"
  687. @click="addAprrove2(scope.row,devType2)"
  688. >{{ $t('提交维修申请') }}
  689. </el-button>
  690. <el-button
  691. type="text"
  692. size="mini"
  693. @click="hisReform(scope.row)"
  694. >{{ $t('台账历史') }}</el-button>
  695. </template>
  696. </el-table-column>
  697. </el-table>
  698. <pagination
  699. v-show="total>0"
  700. :total="total"
  701. :page.sync="queryParams.pageNum"
  702. :limit.sync="queryParams.pageSize"
  703. @pagination="getList"
  704. />
  705. <!-- 添加或修改设备完整性泵台账对话框 -->
  706. <el-dialog :close-on-click-modal="false" :title="title" :visible.sync="open" width="500px" append-to-body>
  707. <el-form ref="form" :model="form" :rules="rules" label-width="80px">
  708. <el-form-item label="装置名称" prop="plantCode">
  709. <el-input v-model="form.plantCode" placeholder="请输入装置名称" />
  710. </el-form-item>
  711. <el-form-item label="单元" prop="unit">
  712. <el-input v-model="form.unit" placeholder="请输入单元" />
  713. </el-form-item>
  714. <el-form-item label="设备名称" prop="devname">
  715. <el-input v-model="form.devname" placeholder="请输入设备名称" />
  716. </el-form-item>
  717. <el-form-item label="设备位号" prop="devno">
  718. <el-input v-model="form.devno" placeholder="请输入设备位号" />
  719. </el-form-item>
  720. <el-form-item label="投用年月" prop="submitdate">
  721. <el-date-picker clearable size="small" style="width: 200px"
  722. v-model="form.submitdate"
  723. type="date"
  724. value-format="yyyy-MM-dd"
  725. placeholder="选择投用年月">
  726. </el-date-picker>
  727. </el-form-item>
  728. <el-form-item label="状态" prop="status">
  729. <el-select v-model="form.status" placeholder="请选择状态">
  730. <el-option
  731. v-for="dict in statusOptions"
  732. :key="dict.dictValue"
  733. :label="dict.dictLabel"
  734. :value="parseInt(dict.dictValue)"
  735. ></el-option>
  736. </el-select>
  737. </el-form-item>
  738. <el-form-item label="状态 1 :正常 ;0:删除" prop="delFlag">
  739. <el-input v-model="form.delFlag" placeholder="请输入状态 1 :正常 ;0:删除" />
  740. </el-form-item>
  741. <el-form-item label="创建人" prop="createrCode">
  742. <el-input v-model="form.createrCode" placeholder="请输入创建人" />
  743. </el-form-item>
  744. <el-form-item label="创建时间" prop="createdate">
  745. <el-date-picker clearable size="small" style="width: 200px"
  746. v-model="form.createdate"
  747. type="date"
  748. value-format="yyyy-MM-dd"
  749. placeholder="选择创建时间">
  750. </el-date-picker>
  751. </el-form-item>
  752. <el-form-item label="修改人" prop="updaterCode">
  753. <el-input v-model="form.updaterCode" placeholder="请输入修改人" />
  754. </el-form-item>
  755. <el-form-item label="修改时间" prop="updatedate">
  756. <el-date-picker clearable size="small" style="width: 200px"
  757. v-model="form.updatedate"
  758. type="date"
  759. value-format="yyyy-MM-dd"
  760. placeholder="选择修改时间">
  761. </el-date-picker>
  762. </el-form-item>
  763. <el-form-item label="部门编号" prop="deptId">
  764. <el-input v-model="form.deptId" placeholder="请输入部门编号" />
  765. </el-form-item>
  766. <el-form-item label="备注" prop="remarks">
  767. <el-input v-model="form.remarks" placeholder="请输入备注" />
  768. </el-form-item>
  769. <el-form-item label="审核状态" prop="approveStatus">
  770. <el-select v-model="form.approveStatus" placeholder="请选择审核状态">
  771. <el-option
  772. v-for="dict in approveStatusOptions"
  773. :key="dict.dictValue"
  774. :label="dict.dictLabel"
  775. :value="parseInt(dict.dictValue)"
  776. ></el-option>
  777. </el-select>
  778. </el-form-item>
  779. <el-form-item label="注册代码" prop="regno">
  780. <el-input v-model="form.regno" placeholder="请输入注册代码" />
  781. </el-form-item>
  782. <el-form-item label="使用证编号" prop="useno">
  783. <el-input v-model="form.useno" placeholder="请输入使用证编号" />
  784. </el-form-item>
  785. <el-form-item label="上次年检时间" prop="warnDate">
  786. <el-date-picker clearable size="small" style="width: 200px"
  787. v-model="form.warnDate"
  788. type="date"
  789. value-format="yyyy-MM-dd"
  790. placeholder="选择上次年检时间">
  791. </el-date-picker>
  792. </el-form-item>
  793. <el-form-item label="检测周期" prop="warnCycle">
  794. <el-input v-model="form.warnCycle" placeholder="请输入检测周期" />
  795. </el-form-item>
  796. <el-form-item label="下次年检时间" prop="nextWarnDate">
  797. <el-date-picker clearable size="small" style="width: 200px"
  798. v-model="form.nextWarnDate"
  799. type="date"
  800. value-format="yyyy-MM-dd"
  801. placeholder="选择下次年检时间">
  802. </el-date-picker>
  803. </el-form-item>
  804. <el-form-item label="预警标识" prop="warnFlag">
  805. <el-input v-model="form.warnFlag" placeholder="请输入预警标识" />
  806. </el-form-item>
  807. <el-form-item label="管道级别" prop="grade">
  808. <el-input v-model="form.grade" placeholder="请输入管道级别" />
  809. </el-form-item>
  810. <el-form-item label="设计单位" prop="designer">
  811. <el-input v-model="form.designer" placeholder="请输入设计单位" />
  812. </el-form-item>
  813. <el-form-item label="安装单位" prop="installer">
  814. <el-input v-model="form.installer" placeholder="请输入安装单位" />
  815. </el-form-item>
  816. <el-form-item label="材质" prop="material">
  817. <el-input v-model="form.material" placeholder="请输入材质" />
  818. </el-form-item>
  819. <el-form-item label="直径" prop="dia">
  820. <el-input v-model="form.dia" placeholder="请输入直径" />
  821. </el-form-item>
  822. <el-form-item label="厚度等级" prop="scheduleNo">
  823. <el-input v-model="form.scheduleNo" placeholder="请输入厚度等级" />
  824. </el-form-item>
  825. <el-form-item label="长度" prop="length">
  826. <el-input v-model="form.length" placeholder="请输入长度" />
  827. </el-form-item>
  828. <el-form-item label="起点" prop="starting">
  829. <el-input v-model="form.starting" placeholder="请输入起点" />
  830. </el-form-item>
  831. <el-form-item label="终点" prop="ending">
  832. <el-input v-model="form.ending" placeholder="请输入终点" />
  833. </el-form-item>
  834. <el-form-item label="设计压力" prop="desPressure">
  835. <el-input v-model="form.desPressure" placeholder="请输入设计压力" />
  836. </el-form-item>
  837. <el-form-item label="设计温度" prop="desTemp">
  838. <el-input v-model="form.desTemp" placeholder="请输入设计温度" />
  839. </el-form-item>
  840. <el-form-item label="工作压力" prop="optPressure">
  841. <el-input v-model="form.optPressure" placeholder="请输入工作压力" />
  842. </el-form-item>
  843. <el-form-item label="工作温度" prop="optTemp">
  844. <el-input v-model="form.optTemp" placeholder="请输入工作温度" />
  845. </el-form-item>
  846. <el-form-item label="介质" prop="medium">
  847. <el-input v-model="form.medium" placeholder="请输入介质" />
  848. </el-form-item>
  849. <el-form-item label="年度检查结论" prop="checkConclusion">
  850. <el-input v-model="form.checkConclusion" placeholder="请输入年度检查结论" />
  851. </el-form-item>
  852. <el-form-item label="检验单位" prop="checkUnit">
  853. <el-input v-model="form.checkUnit" placeholder="请输入检验单位" />
  854. </el-form-item>
  855. <el-form-item label="安全状况等级" prop="safeClass">
  856. <el-input v-model="form.safeClass" placeholder="请输入安全状况等级" />
  857. </el-form-item>
  858. <el-form-item label="报告编号" prop="reportNo">
  859. <el-input v-model="form.reportNo" placeholder="请输入报告编号" />
  860. </el-form-item>
  861. <el-form-item label="最新申请时间" prop="approveTime">
  862. <el-date-picker clearable size="small" style="width: 200px"
  863. v-model="form.approveTime"
  864. type="date"
  865. value-format="yyyy-MM-dd"
  866. placeholder="选择最新申请时间">
  867. </el-date-picker>
  868. </el-form-item>
  869. <el-form-item label="状态修改时间" prop="changeTime">
  870. <el-date-picker clearable size="small" style="width: 200px"
  871. v-model="form.changeTime"
  872. type="date"
  873. value-format="yyyy-MM-dd"
  874. placeholder="选择状态修改时间">
  875. </el-date-picker>
  876. </el-form-item>
  877. <el-form-item label="PM维修组" prop="plantMaint">
  878. <el-input v-model="form.plantMaint" placeholder="请输入PM维修组" />
  879. </el-form-item>
  880. <el-form-item label="装置维修工程师" prop="engineer">
  881. <el-input v-model="form.engineer" placeholder="请输入装置维修工程师" />
  882. </el-form-item>
  883. <el-form-item label="焊口数量" prop="weldNumber">
  884. <el-input v-model="form.weldNumber" placeholder="请输入焊口数量" />
  885. </el-form-item>
  886. <el-form-item label="敷设方式" prop="layingMethod">
  887. <el-input v-model="form.layingMethod" placeholder="请输入敷设方式" />
  888. </el-form-item>
  889. <el-form-item label="绝热层代码" prop="adiabatic">
  890. <el-input v-model="form.adiabatic" placeholder="请输入绝热层代码" />
  891. </el-form-item>
  892. <el-form-item label="防腐层代码" prop="antiCorrosion">
  893. <el-input v-model="form.antiCorrosion" placeholder="请输入防腐层代码" />
  894. </el-form-item>
  895. <el-form-item label="绝热层厚度" prop="adiabaticThickness">
  896. <el-input v-model="form.adiabaticThickness" placeholder="请输入绝热层厚度" />
  897. </el-form-item>
  898. <el-form-item label="是否涉危化品" prop="isDanger">
  899. <el-input v-model="form.isDanger" placeholder="请输入是否涉危化品" />
  900. </el-form-item>
  901. <el-form-item label="安装日期" prop="installDate">
  902. <el-date-picker clearable size="small" style="width: 200px"
  903. v-model="form.installDate"
  904. type="date"
  905. value-format="yyyy-MM-dd"
  906. placeholder="选择安装日期">
  907. </el-date-picker>
  908. </el-form-item>
  909. <el-form-item label="年度检查日期" prop="yearWarnDate">
  910. <el-date-picker clearable size="small" style="width: 200px"
  911. v-model="form.yearWarnDate"
  912. type="date"
  913. value-format="yyyy-MM-dd"
  914. placeholder="选择年度检查日期">
  915. </el-date-picker>
  916. </el-form-item>
  917. <el-form-item label="年度检查日期" prop="yearNextWarnDate">
  918. <el-date-picker clearable size="small" style="width: 200px"
  919. v-model="form.yearNextWarnDate"
  920. type="date"
  921. value-format="yyyy-MM-dd"
  922. placeholder="选择年度检查日期">
  923. </el-date-picker>
  924. </el-form-item>
  925. <el-form-item label="年度检查报告编号" prop="yearReportNo">
  926. <el-input v-model="form.yearReportNo" placeholder="请输入年度检查报告编号" />
  927. </el-form-item>
  928. <el-form-item label="管道编号是否变色" prop="isRepeat">
  929. <el-select v-model="form.isRepeat" placeholder="请选择管道编号是否变色">
  930. <el-option
  931. v-for="dict in isRepeatOptions"
  932. :key="dict.dictValue"
  933. :label="dict.dictLabel"
  934. :value="parseInt(dict.dictValue)"
  935. ></el-option>
  936. </el-select>
  937. </el-form-item>
  938. <el-form-item label="种类" prop="type">
  939. <el-select v-model="form.type" placeholder="请选择种类">
  940. <el-option
  941. v-for="dict in typeOptions"
  942. :key="dict.dictValue"
  943. :label="dict.dictLabel"
  944. :value="parseInt(dict.dictValue)"
  945. ></el-option>
  946. </el-select>
  947. </el-form-item>
  948. <el-form-item label="安装位置" prop="position">
  949. <el-input v-model="form.position" placeholder="请输入安装位置" />
  950. </el-form-item>
  951. <el-form-item label="尺寸" prop="deviceSize">
  952. <el-input v-model="form.deviceSize" placeholder="请输入尺寸" />
  953. </el-form-item>
  954. <el-form-item label="泄空方式" prop="leakageMode">
  955. <el-input v-model="form.leakageMode" placeholder="请输入泄空方式" />
  956. </el-form-item>
  957. <el-form-item label="档案" prop="archives">
  958. <el-input v-model="form.archives" placeholder="请输入档案" />
  959. </el-form-item>
  960. <el-form-item label="归属部门" prop="deptId">
  961. <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
  962. </el-form-item>
  963. </el-form>
  964. <div slot="footer" class="dialog-footer">
  965. <el-button type="primary" @click="submitForm">确 定</el-button>
  966. <el-button @click="cancel">取 消</el-button>
  967. </div>
  968. </el-dialog>
  969. <!-- 用户导入对话框 -->
  970. <el-dialog :close-on-click-modal="false" :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
  971. <el-upload
  972. ref="upload"
  973. :limit="1"
  974. accept=".xlsx, .xls"
  975. :headers="upload.headers"
  976. :action="upload.url + '?updateSupport=' + upload.updateSupport"
  977. :disabled="upload.isUploading"
  978. :on-progress="handleFileUploadProgress"
  979. :on-success="handleFileSuccess"
  980. :auto-upload="false"
  981. drag
  982. >
  983. <i class="el-icon-upload"></i>
  984. <div class="el-upload__text">
  985. 将文件拖到此处,或
  986. <em>点击上传</em>
  987. </div>
  988. <div class="el-upload__tip" slot="tip">
  989. <el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
  990. <el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
  991. </div>
  992. <div class="el-upload__tip" style="color:red" slot="tip">提示:仅允许导入“xls”或“xlsx”格式文件!</div>
  993. </el-upload>
  994. <div slot="footer" class="dialog-footer">
  995. <el-button type="primary" @click="submitFileForm">确 定</el-button>
  996. <el-button @click="upload.open = false">取 消</el-button>
  997. </div>
  998. </el-dialog>
  999. <add-approve v-if="addAprroveVisible" ref="addApprove" @refreshDataList="getList"></add-approve>
  1000. <his-approve v-if="hisAprroveVisible" ref="hisApprove" @refreshDataList="getList"></his-approve>
  1001. <add-approve2 v-if="addAprroveVisible2" ref="addApprove2" @refreshDataList="getList"></add-approve2>
  1002. <his-approve2 v-if="hisAprroveVisible2" ref="hisApprove2" @refreshDataList="getList"></his-approve2>
  1003. <his-check v-if="hisCheckVisible" ref="hisCheck" @refreshDataList="getList"></his-check>
  1004. <HisReform v-if="hisReformVisible" ref="hisReformList" ></HisReform>
  1005. </div>
  1006. </template>
  1007. <script>
  1008. import { listPump, getPump, delPump, addPump, updatePump, exportPump, importTemplate} from "@/api/intact/pump";
  1009. import {allFileList, delCommonfile} from "@/api/common/commonfile";
  1010. import { treeselect } from "@/api/system/dept";
  1011. import { getToken } from "@/utils/auth";
  1012. import Treeselect from "@riophae/vue-treeselect";
  1013. import "@riophae/vue-treeselect/dist/vue-treeselect.css";
  1014. import AddApprove from "../approve/tapprove-add"
  1015. import HisApprove from "../approve/tapprove-his"
  1016. import {mylistPlant} from "@/api/system/plant";
  1017. import HisCheck from "../check/check"
  1018. import {addModify} from "@/api/sems/his/modify";
  1019. import HisReform from "./specGl-hisReform";
  1020. import HisApprove2 from "../approve/tapprove-maintenance-his";
  1021. import AddApprove2 from "../approve/tapprove-maintenance-add";
  1022. export default {
  1023. name: "Pump",
  1024. components: { Treeselect ,AddApprove,HisApprove,HisCheck,HisReform,AddApprove2,HisApprove2},
  1025. data() {
  1026. return {
  1027. // 遮罩层
  1028. devType: 1,
  1029. devType2: 4,
  1030. loading: true,
  1031. addAprroveVisible: false,
  1032. hisAprroveVisible: false,
  1033. addAprroveVisible2: false,
  1034. hisAprroveVisible2: false,
  1035. hisCheckVisible: false,
  1036. hisReformVisible: false,//泵变更历史记录
  1037. // 选中数组
  1038. ids: [],
  1039. dataListSelections: [],
  1040. // 非单个禁用
  1041. single: true,
  1042. // 非多个禁用
  1043. multiple: true,
  1044. // 显示搜索条件
  1045. showSearch: false,
  1046. // 总条数
  1047. total: 0,
  1048. // 设备完整性泵台账表格数据
  1049. pumpList: [],
  1050. // 弹出层标题
  1051. title: "",
  1052. // 部门树选项
  1053. deptOptions: undefined,
  1054. clientHeight:300,
  1055. // 是否显示弹出层
  1056. open: false,
  1057. // 状态字典
  1058. statusOptions: [],
  1059. // 审核状态字典
  1060. approveStatusOptions: [],
  1061. // 预警标识字典
  1062. warnFlagOptions: [],
  1063. // 管道编号是否变色字典
  1064. isRepeatOptions: [],
  1065. // 种类字典
  1066. typeOptions: [],
  1067. // 用户导入参数
  1068. upload: {
  1069. // 是否显示弹出层(用户导入)
  1070. open: false,
  1071. // 弹出层标题(用户导入)
  1072. title: "",
  1073. // 是否禁用上传
  1074. isUploading: false,
  1075. // 是否更新已经存在的用户数据
  1076. updateSupport: 0,
  1077. // 设置上传的请求头部
  1078. headers: { Authorization: "Bearer " + getToken() },
  1079. // 上传的地址
  1080. url: process.env.VUE_APP_BASE_API + "/intact/pump/importData"
  1081. },
  1082. downloadExportAction: process.env.VUE_APP_BASE_API + "/intact/pump/importData",
  1083. // 报告附件参数
  1084. doc: {
  1085. file: "123",
  1086. // 是否显示弹出层(报告附件)
  1087. open: false,
  1088. // 弹出层标题(报告附件)
  1089. title: "",
  1090. // 是否禁用上传
  1091. isUploading: false,
  1092. // 是否更新已经存在的用户数据
  1093. updateSupport: 0,
  1094. // 报告附件上传位置编号
  1095. ids: 0,
  1096. // 设置上传的请求头部
  1097. headers: { Authorization: "Bearer " + getToken() },
  1098. // 上传的地址
  1099. url: process.env.VUE_APP_BASE_API + "/common/commonfile/uploadFile",
  1100. commonfileList: null,
  1101. queryParams: {
  1102. pId: null,
  1103. pType: 'pump'
  1104. },
  1105. pType: 'pump',
  1106. pId: null
  1107. },
  1108. pdf : {
  1109. title: '',
  1110. pdfUrl: '',
  1111. numPages: null,
  1112. open: false,
  1113. pageNum: 1,
  1114. pageTotalNum: 1,
  1115. loadedRatio: 0,
  1116. },
  1117. // 查询参数
  1118. queryParams: {
  1119. pageNum: 1,
  1120. pageSize: 20,
  1121. plantCode: null,
  1122. unit: null,
  1123. devname: null,
  1124. devno: null,
  1125. submitdate: null,
  1126. status: null,
  1127. createrCode: null,
  1128. createdate: null,
  1129. updaterCode: null,
  1130. updatedate: null,
  1131. deptId: null,
  1132. remarks: null,
  1133. approveStatus: null,
  1134. regno: null,
  1135. useno: null,
  1136. warnDate: null,
  1137. warnCycle: null,
  1138. nextWarnDate: null,
  1139. warnFlag: null,
  1140. grade: null,
  1141. designer: null,
  1142. installer: null,
  1143. material: null,
  1144. dia: null,
  1145. scheduleNo: null,
  1146. length: null,
  1147. starting: null,
  1148. ending: null,
  1149. desPressure: null,
  1150. desTemp: null,
  1151. optPressure: null,
  1152. optTemp: null,
  1153. medium: null,
  1154. checkConclusion: null,
  1155. checkUnit: null,
  1156. safeClass: null,
  1157. reportNo: null,
  1158. approveTime: null,
  1159. changeTime: null,
  1160. plantMaint: null,
  1161. engineer: null,
  1162. weldNumber: null,
  1163. layingMethod: null,
  1164. adiabatic: null,
  1165. antiCorrosion: null,
  1166. adiabaticThickness: null,
  1167. isDanger: null,
  1168. installDate: null,
  1169. yearWarnDate: null,
  1170. yearNextWarnDate: null,
  1171. yearReportNo: null,
  1172. isRepeat: null,
  1173. type: null,
  1174. position: null,
  1175. deviceSize: null,
  1176. leakageMode: null,
  1177. archives: null
  1178. },
  1179. // 表单参数
  1180. form: {},
  1181. // 表单校验
  1182. rules: {
  1183. }
  1184. };
  1185. },
  1186. watch: {
  1187. // 根据名称筛选部门树
  1188. deptName(val) {
  1189. this.$refs.tree.filter(val);
  1190. }
  1191. },
  1192. created() {
  1193. //设置表格高度对应屏幕高度
  1194. this.$nextTick(() => {
  1195. this.clientHeight = document.body.clientHeight -250
  1196. })
  1197. this.getList();
  1198. this.getTreeselect();
  1199. this.getDicts("INTACT_STATUS").then(response => {
  1200. this.statusOptions = response.data;
  1201. });
  1202. this.getDicts("spec_approve_status").then(response => {
  1203. this.approveStatusOptions = response.data;
  1204. });
  1205. this.getDicts("ALARM_LEVEL").then(response => {
  1206. this.warnFlagOptions = response.data;
  1207. });
  1208. this.getDicts("PIPE_LEVEL").then(response => {
  1209. this.isRepeatOptions = response.data;
  1210. });
  1211. this.getDicts("INTACT_PUMP_TYPE").then(response => {
  1212. this.typeOptions = response.data;
  1213. });
  1214. },
  1215. methods: {
  1216. addAprrove2(row, type) {
  1217. var rows = row ? [row] : this.recordList.map(item => {
  1218. return item
  1219. })
  1220. for (let i = 0; i < rows.length; i++) {
  1221. if (rows[i].approveStatus != 0) {
  1222. this.$alert(this.$t('当前设备正在申请中,无法重复申请'), this.$t('提示'), {
  1223. type: 'warning'
  1224. })
  1225. return
  1226. }
  1227. }
  1228. this.addAprroveVisible2 = true
  1229. this.$nextTick(() => {
  1230. this.$refs.addApprove2.init(rows, type)
  1231. })
  1232. },
  1233. hisApprove2(row, type) {
  1234. this.hisAprroveVisible2 = true
  1235. this.$nextTick(() => {
  1236. this.$refs.hisApprove2.init(row, type)
  1237. })
  1238. },
  1239. /** 查询设备完整性泵台账列表 */
  1240. getList() {
  1241. this.loading = true;
  1242. listPump(this.queryParams).then(response => {
  1243. this.pumpList = response.rows;
  1244. this.total = response.total;
  1245. this.loading = false;
  1246. });
  1247. },
  1248. /** 查询部门下拉树结构 */
  1249. getTreeselect() {
  1250. treeselect().then(response => {
  1251. this.deptOptions = response.data;
  1252. });
  1253. },
  1254. // 状态字典翻译
  1255. statusFormat(row, column) {
  1256. return this.selectDictLabel(this.statusOptions, row.status);
  1257. },
  1258. // 审核状态字典翻译
  1259. approveStatusFormat(row, column) {
  1260. return this.selectDictLabel(this.approveStatusOptions, row.approveStatus);
  1261. },
  1262. // 预警标识字典翻译
  1263. warnFlagFormat(row, column) {
  1264. return this.selectDictLabel(this.warnFlagOptions, row.warnFlag);
  1265. },
  1266. // 管道编号是否变色字典翻译
  1267. isRepeatFormat(row, column) {
  1268. return this.selectDictLabel(this.isRepeatOptions, row.isRepeat);
  1269. },
  1270. // 种类字典翻译
  1271. typeFormat(row, column) {
  1272. return this.selectDictLabel(this.typeOptions, row.type);
  1273. },
  1274. // 取消按钮
  1275. cancel() {
  1276. this.open = false;
  1277. this.reset();
  1278. },
  1279. // 表单重置
  1280. reset() {
  1281. this.form = {
  1282. id: null,
  1283. plantCode: null,
  1284. unit: null,
  1285. devname: null,
  1286. devno: null,
  1287. submitdate: null,
  1288. status: null,
  1289. delFlag: null,
  1290. createrCode: null,
  1291. createdate: null,
  1292. updaterCode: null,
  1293. updatedate: null,
  1294. deptId: null,
  1295. remarks: null,
  1296. approveStatus: null,
  1297. regno: null,
  1298. useno: null,
  1299. warnDate: null,
  1300. warnCycle: null,
  1301. nextWarnDate: null,
  1302. warnFlag: null,
  1303. grade: null,
  1304. designer: null,
  1305. installer: null,
  1306. material: null,
  1307. dia: null,
  1308. scheduleNo: null,
  1309. length: null,
  1310. starting: null,
  1311. ending: null,
  1312. desPressure: null,
  1313. desTemp: null,
  1314. optPressure: null,
  1315. optTemp: null,
  1316. medium: null,
  1317. checkConclusion: null,
  1318. checkUnit: null,
  1319. safeClass: null,
  1320. reportNo: null,
  1321. approveTime: null,
  1322. changeTime: null,
  1323. plantMaint: null,
  1324. engineer: null,
  1325. weldNumber: null,
  1326. layingMethod: null,
  1327. adiabatic: null,
  1328. antiCorrosion: null,
  1329. adiabaticThickness: null,
  1330. isDanger: null,
  1331. installDate: null,
  1332. yearWarnDate: null,
  1333. yearNextWarnDate: null,
  1334. yearReportNo: null,
  1335. isRepeat: null,
  1336. type: null,
  1337. position: null,
  1338. deviceSize: null,
  1339. leakageMode: null,
  1340. archives: null
  1341. };
  1342. this.resetForm("form");
  1343. },
  1344. /** 搜索按钮操作 */
  1345. handleQuery() {
  1346. this.queryParams.pageNum = 1;
  1347. this.getList();
  1348. },
  1349. /** 重置按钮操作 */
  1350. resetQuery() {
  1351. this.resetForm("queryForm");
  1352. this.handleQuery();
  1353. },
  1354. // 多选框选中数据
  1355. handleSelectionChange(selection) {
  1356. this.ids = selection.map(item => item.id)
  1357. this.single = selection.length!==1
  1358. this.multiple = !selection.length
  1359. },
  1360. /** 新增按钮操作 */
  1361. handleAdd() {
  1362. this.reset();
  1363. this.open = true;
  1364. this.title = "添加设备完整性泵台账";
  1365. },
  1366. /** 修改按钮操作 */
  1367. handleUpdate(row) {
  1368. this.reset();
  1369. const id = row.id || this.ids
  1370. getPump(id).then(response => {
  1371. this.form = response.data;
  1372. this.open = true;
  1373. this.title = "修改设备完整性泵台账";
  1374. });
  1375. },
  1376. /** 提交按钮 */
  1377. submitForm() {
  1378. this.$refs["form"].validate(valid => {
  1379. if (valid) {
  1380. if (this.form.id != null) {
  1381. updatePump(this.form).then(response => {
  1382. this.msgSuccess("修改成功");
  1383. this.open = false;
  1384. this.getList();
  1385. });
  1386. } else {
  1387. addPump(this.form).then(response => {
  1388. this.msgSuccess("新增成功");
  1389. this.open = false;
  1390. this.getList();
  1391. });
  1392. }
  1393. }
  1394. });
  1395. },
  1396. /** 删除按钮操作 */
  1397. handleDelete(row) {
  1398. const ids = row.id || this.ids;
  1399. this.$confirm('是否确认删除?', "警告", {
  1400. confirmButtonText: "确定",
  1401. cancelButtonText: "取消",
  1402. type: "warning"
  1403. }).then(function() {
  1404. return delPump(ids);
  1405. }).then(() => {
  1406. this.getList();
  1407. this.msgSuccess("删除成功");
  1408. })
  1409. },
  1410. /** 导出按钮操作 */
  1411. handleExport() {
  1412. const queryParams = this.queryParams;
  1413. this.$confirm('是否确认导出所有设备完整性泵台账数据项?', "警告", {
  1414. confirmButtonText: "确定",
  1415. cancelButtonText: "取消",
  1416. type: "warning"
  1417. }).then(function() {
  1418. return exportPump(queryParams);
  1419. }).then(response => {
  1420. this.download(response.msg);
  1421. })
  1422. },
  1423. /** 导入按钮操作 */
  1424. handleImport() {
  1425. this.upload.title = "用户导入";
  1426. this.upload.open = true;
  1427. },
  1428. /** 下载模板操作 */
  1429. importTemplate() {
  1430. importTemplate().then(response => {
  1431. this.download(response.msg);
  1432. });
  1433. },
  1434. // 文件上传中处理
  1435. handleFileUploadProgress(event, file, fileList) {
  1436. this.upload.isUploading = true;
  1437. },
  1438. // 文件上传成功处理
  1439. handleFileSuccess(response, file, fileList) {
  1440. this.upload.open = false;
  1441. this.upload.isUploading = false;
  1442. this.$refs.upload.clearFiles();
  1443. this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
  1444. this.getList();
  1445. },
  1446. // 提交上传文件
  1447. submitFileForm() {
  1448. this.$refs.upload.submit();
  1449. },
  1450. /** 报告附件按钮操作 */
  1451. handleDoc(row) {
  1452. this.doc.id = row.id;
  1453. this.doc.title = row.filename;
  1454. this.doc.open = true;
  1455. this.doc.queryParams.pId = row.id
  1456. this.doc.pId = row.id
  1457. this.getFileList()
  1458. this.$nextTick(() => {
  1459. this.$refs.doc.clearFiles()
  1460. })
  1461. },
  1462. getFileList (){
  1463. allFileList(this.doc.queryParams).then(response => {
  1464. this.doc.commonfileList = response;
  1465. });
  1466. },
  1467. //附件上传中处理
  1468. handleFileDocProgress(event, file, fileList) {
  1469. this.doc.file = file;
  1470. this.doc.isUploading = true;
  1471. },
  1472. //附件上传成功处理
  1473. handleFileDocSuccess(response, file, fileList) {
  1474. this.doc.isUploading = false;
  1475. this.$alert(response.msg, this.$t('导入结果'), { dangerouslyUseHTMLString: true });
  1476. this.getFileList()
  1477. },
  1478. /** 删除按钮操作 */
  1479. handleDeleteDoc(row) {
  1480. const ids = row.id || this.ids;
  1481. this.$confirm(this.$t('是否确认删除?'), this.$t('警告'), {
  1482. confirmButtonText: this.$t('确定'),
  1483. cancelButtonText: this.$t('取消'),
  1484. type: "warning"
  1485. }).then(function() {
  1486. return delCommonfile(ids);
  1487. }).then(() => {
  1488. this.getFileList()
  1489. this.msgSuccess(this.$t('删除成功'));
  1490. })
  1491. },
  1492. // 文件下载处理
  1493. handleDownload(row) {
  1494. var name = row.fileName;
  1495. var url = row.fileUrl;
  1496. var suffix = url.substring(url.lastIndexOf("."), url.length);
  1497. console.log(url)
  1498. const a = document.createElement('a')
  1499. a.setAttribute('download', name)
  1500. a.setAttribute('target', '_blank')
  1501. a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
  1502. a.click()
  1503. },
  1504. //提交申请方法
  1505. addAprrove (row, type) {
  1506. var rows = row ? [row] : this.dataListSelections.map(item => {
  1507. return item
  1508. })
  1509. for (let i = 0; i <rows.length ; i++) {
  1510. if (rows[i].approveStatus != 0) {
  1511. this.$alert(this.$t('当前设备正在申请中,无法重复申请'), this.$t('提示'), {
  1512. type: 'warning'
  1513. })
  1514. return
  1515. }
  1516. }
  1517. this.addAprroveVisible = true
  1518. console.log(rows)
  1519. console.log(type)
  1520. this.$nextTick(() => {
  1521. this.$refs.addApprove.init(rows, type)
  1522. })
  1523. },
  1524. hisApprove (row, type) {
  1525. this.hisAprroveVisible = true
  1526. this.$nextTick(() => {
  1527. this.$refs.hisApprove.init(row, type)
  1528. })
  1529. },
  1530. checkList (row, type) {
  1531. this.hisCheckVisible = true
  1532. this.$nextTick(() => {
  1533. this.$refs.hisCheck.init(row, type)
  1534. })
  1535. },
  1536. hisReform (row) {
  1537. this.hisReformVisible = true
  1538. this.$nextTick(() => {
  1539. this.$refs.hisReformList.init(row)
  1540. })
  1541. },
  1542. }
  1543. };
  1544. </script>