index.vue 53 KB

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