spec-detail.vue 63 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701
  1. <template>
  2. <el-dialog
  3. :title="!this.taskForm.taskId == '' ? $t('处理') : $t('详情')"
  4. :close-on-click-modal="false"
  5. :visible.sync="visible" append-to-body>
  6. <el-form :model="taskForm" :rules="dataRule" ref="dataForm" @keyup.enter.native="" label-width="80px">
  7. <el-form-item :label="$t('设备')">
  8. <el-table
  9. v-show="dataForm.approveType == 8"
  10. :data="devList"
  11. border
  12. style="width: 100%;">
  13. <el-table-column :label="$t('装置名称')" align="center" prop="plantCode" :show-overflow-tooltip="true"/>
  14. <el-table-column :label="$t('检查年月')" align="center" prop="checkMonth" width="100">
  15. </el-table-column>
  16. <el-table-column header-align="center" align="center" :label="$t('压力容器')">
  17. <el-table-column :label="$t('容器单元')" align="center" prop="rqUnit" :show-overflow-tooltip="true"/>
  18. <el-table-column :label="$t('容器本体')" align="center" prop="rqSelf" :formatter="rqSelfFormat" />
  19. <el-table-column :label="$t('安全附件')" align="center" prop="rqSafe" :formatter="rqSafeFormat" />
  20. <el-table-column :label="$t('安全保护装置')" align="center" prop="rqProtect" :formatter="rqProtectFormat" />
  21. <el-table-column :label="$t('测量调控装置,紧急切断阀')" align="center" prop="rqControl" :formatter="rqControlFormat" />
  22. <el-table-column :label="$t('附属仪器仪表')" align="center" prop="rqIns" :formatter="rqInsFormat" />
  23. <el-table-column :label="$t('有无泄漏')" align="center" prop="rqOut" :formatter="rqOutFormat" />
  24. <el-table-column :label="$t('其它情况描述')" align="center" prop="rqOther" :show-overflow-tooltip="true"/>
  25. <el-table-column :label="$t('容器备注')" align="center" prop="rqRemark" :show-overflow-tooltip="true"/>
  26. </el-table-column>
  27. <el-table-column header-align="center" align="center" :label="$t('压力管道')">
  28. <el-table-column :label="$t('管道区域/单元')" align="center" prop="gdUnit" :show-overflow-tooltip="true"/>
  29. <el-table-column :label="$t('管道宏观')" align="center" prop="gdSelf" :formatter="gdSelfFormat" />
  30. <el-table-column :label="$t('安全附件')" align="center" prop="gdSafe" :formatter="gdSafeFormat" />
  31. <el-table-column :label="$t('测量调控装置')" align="center" prop="gdControl" :formatter="gdControlFormat" />
  32. <el-table-column :label="$t('附属仪器仪表')" align="center" prop="gdIns" :formatter="gdInsFormat" />
  33. <el-table-column :label="$t('有无泄漏')" align="center" prop="gdOut" :formatter="gdOutFormat" />
  34. <el-table-column :label="$t('其它情况描述')" align="center" prop="gdOther" :show-overflow-tooltip="true"/>
  35. <el-table-column :label="$t('管道备注')" align="center" prop="gdRemark" :show-overflow-tooltip="true"/>
  36. </el-table-column>
  37. <el-table-column header-align="center" align="center" :label="$t('锅炉')">
  38. <el-table-column :label="$t('锅炉区域/单元')" align="center" prop="glUnit" :show-overflow-tooltip="true"/>
  39. <el-table-column :label="$t('承压部件')" align="center" prop="glPressure" :formatter="glPressureFormat" />
  40. <el-table-column :label="$t('安全附件')" align="center" prop="glSafe" :formatter="glSafeFormat" />
  41. <el-table-column :label="$t('仪表及联锁保护装置')" align="center" prop="glIns" :formatter="glInsFormat" />
  42. <el-table-column :label="$t('燃烧器')" align="center" prop="glBurn" :formatter="glBurnFormat" />
  43. <el-table-column :label="$t('人员')+$t('证书')" align="center" prop="glCer" :formatter="glCerFormat" />
  44. <el-table-column :label="$t('水质化验')" align="center" prop="glWater" :formatter="glWaterFormat" />
  45. <el-table-column :label="$t('其它情况描述')" align="center" prop="glOther" :show-overflow-tooltip="true"/>
  46. <el-table-column :label="$t('锅炉')+$t('备注')" align="center" prop="glRemark" :show-overflow-tooltip="true"/>
  47. </el-table-column>
  48. </el-table>
  49. <el-table
  50. v-show="dataForm.approveType == 7 && dataForm.devType == 1"
  51. :data="devList"
  52. border
  53. style="width: 100%;">
  54. <el-table-column :label="$t('装置')" align="center" fixed="left" prop="plantCode" :show-overflow-tooltip="true"/>
  55. <el-table-column :label="$t('单元')" align="center" fixed="left" prop="unit" :show-overflow-tooltip="true"/>
  56. <el-table-column :label="$t('位号')" align="center" fixed="left" prop="devno" :show-overflow-tooltip="true"/>
  57. <el-table-column :label="$t('设备名称')" align="center" prop="devname" width="200" :show-overflow-tooltip="true"/>
  58. <el-table-column :label="$t('使用证号码')" align="center" prop="useno" :show-overflow-tooltip="true"/>
  59. <el-table-column :label="$t('注册编号')" align="center" prop="regno" :show-overflow-tooltip="true"/>
  60. <el-table-column :label="$t('介质')" align="center" prop="medium" :show-overflow-tooltip="true" :render-header="renderHeader">
  61. </el-table-column>
  62. <el-table-column :label="$t('设计压力')+'(MPa)'" align="center" prop="desPressure" :show-overflow-tooltip="true" :render-header="renderHeader">
  63. </el-table-column>
  64. <el-table-column :label="$t('设计温度')+'(℃)'" align="center" prop="desTemp" :show-overflow-tooltip="true" :render-header="renderHeader">
  65. </el-table-column>
  66. <el-table-column :label="$t('操作压力')+'(MPa)'" align="center" prop="optPressure" :show-overflow-tooltip="true" :render-header="renderHeader">
  67. </el-table-column>
  68. <el-table-column :label="$t('操作温度')+'(℃)'" align="center" prop="optTemp" :show-overflow-tooltip="true" :render-header="renderHeader">
  69. </el-table-column>
  70. <el-table-column :label="$t('安全状况等级')" align="center" prop="safeClass" :show-overflow-tooltip="true"/>
  71. <el-table-column :label="$t('下次定期检验日期')" align="center" prop="nextWarnDate" width="100">
  72. </el-table-column>
  73. <el-table-column :label="$t('容器管理')" header-align="center">
  74. <el-table-column
  75. prop="pj1"
  76. header-align="center"
  77. align="center"
  78. label="1">
  79. <template slot-scope="scope" slot="header">
  80. <el-tooltip effect="dark" :content="$t('管理制度、操作规程、运行记录')" placement="top">
  81. <span>1</span>
  82. </el-tooltip>
  83. </template>
  84. </el-table-column>
  85. <el-table-column
  86. prop="pj2"
  87. header-align="center"
  88. align="center"
  89. label="2">
  90. <template slot-scope="scope" slot="header">
  91. <el-tooltip effect="dark" :content="$t('设计文件、竣工图样、产品合格证、质量证明文件、安装使用说明')" placement="top">
  92. <span>2</span>
  93. </el-tooltip>
  94. </template>
  95. </el-table-column>
  96. <el-table-column
  97. prop="pj3"
  98. header-align="center"
  99. align="center"
  100. label="3">
  101. <template slot-scope="scope" slot="header">
  102. <el-tooltip effect="dark" :content="$t('监督检验证书以及安装、改造、修理等资料')" placement="top">
  103. <span>3</span>
  104. </el-tooltip>
  105. </template>
  106. </el-table-column>
  107. <el-table-column
  108. prop="pj4"
  109. header-align="center"
  110. align="center"
  111. label="4">
  112. <template slot-scope="scope" slot="header">
  113. <el-tooltip effect="dark" :content="$t('使用登记证,使用登记表是否与实际相符')" placement="top">
  114. <span>4</span>
  115. </el-tooltip>
  116. </template>
  117. </el-table-column>
  118. <el-table-column
  119. prop="pj5"
  120. header-align="center"
  121. align="center"
  122. label="5">
  123. <template slot-scope="scope" slot="header">
  124. <el-tooltip effect="dark" :content="$t('日常维护保养、定期安全检查记录')" placement="top">
  125. <span>5</span>
  126. </el-tooltip>
  127. </template>
  128. </el-table-column>
  129. <el-table-column
  130. prop="pj6"
  131. header-align="center"
  132. align="center"
  133. label="6">
  134. <template slot-scope="scope" slot="header">
  135. <el-tooltip effect="dark" :content="$t('年度检查、定期检验报告齐全,报告中问题解决')" placement="top">
  136. <span>6</span>
  137. </el-tooltip>
  138. </template>
  139. </el-table-column>
  140. <el-table-column
  141. prop="pj7"
  142. header-align="center"
  143. align="center"
  144. label="7">
  145. <template slot-scope="scope" slot="header">
  146. <el-tooltip effect="dark" :content="$t('作业人员定期培训情况')" placement="top">
  147. <span>7</span>
  148. </el-tooltip>
  149. </template>
  150. </el-table-column>
  151. </el-table-column>
  152. <el-table-column :label="$t('容器本体及运行情况')" header-align="center">
  153. <el-table-column
  154. prop="pj8"
  155. header-align="center"
  156. align="center"
  157. label="8">
  158. <template slot-scope="scope" slot="header">
  159. <el-tooltip effect="dark" :content="$t('设备铭牌、漆色、标志、使用证号码')" placement="top">
  160. <span>8</span>
  161. </el-tooltip>
  162. </template>
  163. </el-table-column>
  164. <el-table-column
  165. prop="pj9"
  166. header-align="center"
  167. align="center"
  168. label="9">
  169. <template slot-scope="scope" slot="header">
  170. <el-tooltip effect="dark" :content="$t('本体裂、过热、变形、泄漏、损伤情况')" placement="top">
  171. <span>9</span>
  172. </el-tooltip>
  173. </template>
  174. </el-table-column>
  175. <el-table-column
  176. prop="pj10"
  177. header-align="center"
  178. align="center"
  179. label="10">
  180. <template slot-scope="scope" slot="header">
  181. <el-tooltip effect="dark" :content="$t('接口部位、焊接接头等裂纹、泄漏、损伤情况')" placement="top">
  182. <span>10</span>
  183. </el-tooltip>
  184. </template>
  185. </el-table-column>
  186. <el-table-column
  187. prop="pj11"
  188. header-align="center"
  189. align="center"
  190. label="11">
  191. <template slot-scope="scope" slot="header">
  192. <el-tooltip effect="dark" :content="$t('外表面腐蚀、异常结霜、结露情况')" placement="top">
  193. <span>11</span>
  194. </el-tooltip>
  195. </template>
  196. </el-table-column>
  197. <el-table-column
  198. prop="pj12"
  199. header-align="center"
  200. align="center"
  201. label="12">
  202. <template slot-scope="scope" slot="header">
  203. <el-tooltip effect="dark" :content="$t('保温层、隔热层、衬里情况')" placement="top">
  204. <span>12</span>
  205. </el-tooltip>
  206. </template>
  207. </el-table-column>
  208. <el-table-column
  209. prop="pj13"
  210. header-align="center"
  211. align="center"
  212. label="13">
  213. <template slot-scope="scope" slot="header">
  214. <el-tooltip effect="dark" :content="$t('检漏孔、信号孔')" placement="top">
  215. <span>13</span>
  216. </el-tooltip>
  217. </template>
  218. </el-table-column>
  219. <el-table-column
  220. prop="pj14"
  221. header-align="center"
  222. align="center"
  223. label="14">
  224. <template slot-scope="scope" slot="header">
  225. <el-tooltip effect="dark" :content="$t('容器与相邻管道、构件间异常振动、响声、摩擦')" placement="top">
  226. <span>14</span>
  227. </el-tooltip>
  228. </template>
  229. </el-table-column>
  230. <el-table-column
  231. prop="pj15"
  232. header-align="center"
  233. align="center"
  234. label="15">
  235. <template slot-scope="scope" slot="header">
  236. <el-tooltip effect="dark" :content="$t('支承、支座、基础、紧固螺栓')" placement="top">
  237. <span>15</span>
  238. </el-tooltip>
  239. </template>
  240. </el-table-column>
  241. <el-table-column
  242. prop="pj16"
  243. header-align="center"
  244. align="center"
  245. label="16">
  246. <template slot-scope="scope" slot="header">
  247. <el-tooltip effect="dark" :content="$t('遮阳罩、操作台紧固')" placement="top">
  248. <span>16</span>
  249. </el-tooltip>
  250. </template>
  251. </el-table-column>
  252. <el-table-column
  253. prop="pj17"
  254. header-align="center"
  255. align="center"
  256. label="17">
  257. <template slot-scope="scope" slot="header">
  258. <el-tooltip effect="dark" :content="$t('罐体与底盘等连接')" placement="top">
  259. <span>17</span>
  260. </el-tooltip>
  261. </template>
  262. </el-table-column>
  263. <el-table-column
  264. prop="pj18"
  265. header-align="center"
  266. align="center"
  267. label="18">
  268. <template slot-scope="scope" slot="header">
  269. <el-tooltip effect="dark" :content="$t('波板、罐内扶梯与罐体连接')" placement="top">
  270. <span>18</span>
  271. </el-tooltip>
  272. </template>
  273. </el-table-column>
  274. <el-table-column
  275. prop="pj19"
  276. header-align="center"
  277. align="center"
  278. label="19">
  279. <template slot-scope="scope" slot="header">
  280. <el-tooltip effect="dark" :content="$t('罐车拉紧带、鞍座、中间支座')" placement="top">
  281. <span>19</span>
  282. </el-tooltip>
  283. </template>
  284. </el-table-column>
  285. <el-table-column
  286. prop="pj20"
  287. header-align="center"
  288. align="center"
  289. label="20">
  290. <template slot-scope="scope" slot="header">
  291. <el-tooltip effect="dark" :content="$t('气液相管及其它管路')" placement="top">
  292. <span>20</span>
  293. </el-tooltip>
  294. </template>
  295. </el-table-column>
  296. <el-table-column
  297. prop="pj21"
  298. header-align="center"
  299. align="center"
  300. label="21">
  301. <template slot-scope="scope" slot="header">
  302. <el-tooltip effect="dark" :content="$t('疏水、排放、排污装置')" placement="top">
  303. <span>21</span>
  304. </el-tooltip>
  305. </template>
  306. </el-table-column>
  307. <el-table-column
  308. prop="pj22"
  309. header-align="center"
  310. align="center"
  311. label="22">
  312. <template slot-scope="scope" slot="header">
  313. <el-tooltip effect="dark" :content="$t('设备运行稳定情况')" placement="top">
  314. <span>22</span>
  315. </el-tooltip>
  316. </template>
  317. </el-table-column>
  318. <el-table-column
  319. prop="pj23"
  320. header-align="center"
  321. align="center"
  322. label="23">
  323. <template slot-scope="scope" slot="header">
  324. <el-tooltip effect="dark" :content="$t('接地装置')" placement="top">
  325. <span>23</span>
  326. </el-tooltip>
  327. </template>
  328. </el-table-column>
  329. <el-table-column
  330. prop="pj24"
  331. header-align="center"
  332. align="center"
  333. label="24">
  334. <template slot-scope="scope" slot="header">
  335. <el-tooltip effect="dark" :content="$t('安全状况等级为4级的压力容器的监控措施')" placement="top">
  336. <span>24</span>
  337. </el-tooltip>
  338. </template>
  339. </el-table-column>
  340. </el-table-column>
  341. <el-table-column :label="$t('安全附件或设施')" header-align="center">
  342. <el-table-column
  343. prop="pj25"
  344. header-align="center"
  345. align="center"
  346. label="25">
  347. <template slot-scope="scope" slot="header">
  348. <el-tooltip effect="dark" :content="$t('安全阀')" placement="top">
  349. <span>25</span>
  350. </el-tooltip>
  351. </template>
  352. </el-table-column>
  353. <el-table-column
  354. prop="pj26"
  355. header-align="center"
  356. align="center"
  357. label="26">
  358. <template slot-scope="scope" slot="header">
  359. <el-tooltip effect="dark" :content="$t('压力表')" placement="top">
  360. <span>26</span>
  361. </el-tooltip>
  362. </template>
  363. </el-table-column>
  364. <el-table-column
  365. prop="pj27"
  366. header-align="center"
  367. align="center"
  368. label="27">
  369. <template slot-scope="scope" slot="header">
  370. <el-tooltip effect="dark" :content="$t('爆破片')" placement="top">
  371. <span>27</span>
  372. </el-tooltip>
  373. </template>
  374. </el-table-column>
  375. <el-table-column
  376. prop="pj28"
  377. header-align="center"
  378. align="center"
  379. label="28">
  380. <template slot-scope="scope" slot="header">
  381. <el-tooltip effect="dark" :content="$t('测温仪表')" placement="top">
  382. <span>28</span>
  383. </el-tooltip>
  384. </template>
  385. </el-table-column>
  386. <el-table-column
  387. prop="pj29"
  388. header-align="center"
  389. align="center"
  390. label="29">
  391. <template slot-scope="scope" slot="header">
  392. <el-tooltip effect="dark" :content="$t('液位计')" placement="top">
  393. <span>29</span>
  394. </el-tooltip>
  395. </template>
  396. </el-table-column>
  397. <el-table-column
  398. prop="pj30"
  399. header-align="center"
  400. align="center"
  401. label="30">
  402. <template slot-scope="scope" slot="header">
  403. <el-tooltip effect="dark" :content="$t('快开门安全联锁装置')" placement="top">
  404. <span>30</span>
  405. </el-tooltip>
  406. </template>
  407. </el-table-column>
  408. <el-table-column
  409. prop="pj31"
  410. header-align="center"
  411. align="center"
  412. label="31">
  413. <template slot-scope="scope" slot="header">
  414. <el-tooltip effect="dark" :content="$t('紧急切断装置')" placement="top">
  415. <span>31</span>
  416. </el-tooltip>
  417. </template>
  418. </el-table-column>
  419. </el-table-column>
  420. <el-table-column :label="$t('其他')" header-align="center">
  421. <el-table-column
  422. prop="pj32"
  423. header-align="center"
  424. align="center"
  425. label="32">
  426. <template slot-scope="scope" slot="header">
  427. <el-tooltip effect="dark" :content="$t('装卸软管、装卸阀门')" placement="top">
  428. <span>32</span>
  429. </el-tooltip>
  430. </template>
  431. </el-table-column>
  432. </el-table-column>
  433. <el-table-column
  434. prop="checkDate"
  435. header-align="center"
  436. align="center"
  437. :label="$t('检查日期')">
  438. </el-table-column>
  439. <el-table-column
  440. prop="problem"
  441. header-align="center"
  442. align="center"
  443. :label="$t('问题及处理')">
  444. </el-table-column>
  445. <el-table-column
  446. prop="con"
  447. header-align="center"
  448. align="center"
  449. :label="$t('结论')"
  450. :formatter="conFormat">
  451. </el-table-column>
  452. <el-table-column
  453. prop="yearReportNo"
  454. header-align="center"
  455. align="center"
  456. :label="$t('报告编号')">
  457. </el-table-column>
  458. <el-table-column
  459. prop="remarks"
  460. header-align="center"
  461. align="center"
  462. :label="$t('备注')">
  463. </el-table-column>
  464. </el-table>
  465. <el-table
  466. v-show="dataForm.approveType == 7 && dataForm.devType == 2"
  467. :data="devList"
  468. border
  469. style="width: 100%;">
  470. <el-table-column
  471. prop="devEntity.plantCode"
  472. header-align="center"
  473. align="center"
  474. :label="$t('装置名称')">
  475. </el-table-column>
  476. <el-table-column
  477. prop="devEntity.unit"
  478. header-align="center"
  479. align="center"
  480. :label="$t('单元')">
  481. </el-table-column>
  482. <el-table-column
  483. prop="devEntity.devname"
  484. header-align="center"
  485. align="center"
  486. :label="$t('管道名称')">
  487. </el-table-column>
  488. <el-table-column
  489. prop="devEntity.devno"
  490. header-align="center"
  491. align="center"
  492. :label="$t('管道编号')">
  493. </el-table-column>
  494. <el-table-column
  495. prop="devEntity.nextWarnDate"
  496. header-align="center"
  497. align="center"
  498. :label="$t('下次定期检验日期')">
  499. </el-table-column>
  500. <el-table-column
  501. prop="grade"
  502. header-align="center"
  503. align="center"
  504. :label="$t('管道级别')">
  505. </el-table-column>
  506. <el-table-column
  507. :label="$t('允许使用参数')"
  508. align="center">
  509. <el-table-column
  510. prop="medium"
  511. header-align="center"
  512. align="center"
  513. :label="$t('介质')">
  514. </el-table-column>
  515. <el-table-column
  516. prop="desPressure"
  517. header-align="center"
  518. align="center"
  519. :label="$t('设计压力')">
  520. </el-table-column>
  521. <el-table-column
  522. prop="desTemp"
  523. header-align="center"
  524. align="center"
  525. :label="$t('设计温度')">
  526. </el-table-column>
  527. <el-table-column
  528. prop="optPressure"
  529. header-align="center"
  530. align="center"
  531. :label="$t('操作压力')">
  532. </el-table-column>
  533. <el-table-column
  534. prop="optTemp"
  535. header-align="center"
  536. align="center"
  537. :label="$t('操作温度')">
  538. </el-table-column>
  539. </el-table-column>
  540. <el-table-column
  541. prop="checkUnit"
  542. header-align="center"
  543. align="center"
  544. :label="$t('检验单位')">
  545. </el-table-column>
  546. <el-table-column
  547. prop="safeClass"
  548. header-align="center"
  549. align="center"
  550. :label="$t('安全等级')">
  551. </el-table-column>
  552. <el-table-column
  553. prop="pj1"
  554. header-align="center"
  555. align="center"
  556. label="1">
  557. <template slot-scope="scope" slot="header">
  558. <el-tooltip effect="dark" :content="$t('安全管理情况')" placement="top">
  559. <span>1</span>
  560. </el-tooltip>
  561. </template>
  562. </el-table-column>
  563. <el-table-column
  564. prop="pj2"
  565. header-align="center"
  566. align="center"
  567. label="2">
  568. <template slot-scope="scope" slot="header">
  569. <el-tooltip effect="dark" :content="$t('设计图纸文档、维修记录、质量证明等资料')" placement="top">
  570. <span>2</span>
  571. </el-tooltip>
  572. </template>
  573. </el-table-column>
  574. <el-table-column
  575. prop="pj3"
  576. header-align="center"
  577. align="center"
  578. label="3">
  579. <template slot-scope="scope" slot="header">
  580. <el-tooltip effect="dark" :content="$t('作业人员定期培训情况')" placement="top">
  581. <span>3</span>
  582. </el-tooltip>
  583. </template>
  584. </el-table-column>
  585. <el-table-column
  586. prop="pj4"
  587. header-align="center"
  588. align="center"
  589. label="4">
  590. <template slot-scope="scope" slot="header">
  591. <el-tooltip effect="dark" :content="$t('管道本体及支架')" placement="top">
  592. <span>4</span>
  593. </el-tooltip>
  594. </template>
  595. </el-table-column>
  596. <el-table-column
  597. prop="pj5"
  598. header-align="center"
  599. align="center"
  600. label="5">
  601. <template slot-scope="scope" slot="header">
  602. <el-tooltip effect="dark" :content="$t('管道运行情况')" placement="top">
  603. <span>5</span>
  604. </el-tooltip>
  605. </template>
  606. </el-table-column>
  607. <el-table-column
  608. label="安全附件及仪表"
  609. align="center"
  610. >
  611. <el-table-column
  612. prop="pj6"
  613. header-align="center"
  614. align="center"
  615. label="6">
  616. <template slot-scope="scope" slot="header">
  617. <el-tooltip effect="dark" :content="$t('安全阀')" placement="top">
  618. <span>6</span>
  619. </el-tooltip>
  620. </template>
  621. </el-table-column>
  622. <el-table-column
  623. prop="pj7"
  624. header-align="center"
  625. align="center"
  626. label="7">
  627. <template slot-scope="scope" slot="header">
  628. <el-tooltip effect="dark" :content="$t('爆破片装置')" placement="top">
  629. <span>7</span>
  630. </el-tooltip>
  631. </template>
  632. </el-table-column>
  633. <el-table-column
  634. prop="pj8"
  635. header-align="center"
  636. align="center"
  637. label="8">
  638. <template slot-scope="scope" slot="header">
  639. <el-tooltip effect="dark" :content="$t('阻火器装置')" placement="top">
  640. <span>8</span>
  641. </el-tooltip>
  642. </template>
  643. </el-table-column>
  644. <el-table-column
  645. prop="pj9"
  646. header-align="center"
  647. align="center"
  648. label="9">
  649. <template slot-scope="scope" slot="header">
  650. <el-tooltip effect="dark" :content="$t('紧急切断阀')" placement="top">
  651. <span>9</span>
  652. </el-tooltip>
  653. </template>
  654. </el-table-column>
  655. <el-table-column
  656. prop="pj10"
  657. header-align="center"
  658. align="center"
  659. label="10">
  660. <template slot-scope="scope" slot="header">
  661. <el-tooltip effect="dark" :content="$t('压力表')" placement="top">
  662. <span>10</span>
  663. </el-tooltip>
  664. </template>
  665. </el-table-column>
  666. <el-table-column
  667. prop="pj11"
  668. header-align="center"
  669. align="center"
  670. label="11">
  671. <template slot-scope="scope" slot="header">
  672. <el-tooltip effect="dark" :content="$t('测温仪表')" placement="top">
  673. <span>11</span>
  674. </el-tooltip>
  675. </template>
  676. </el-table-column>
  677. </el-table-column>
  678. <el-table-column
  679. prop="pj12"
  680. header-align="center"
  681. align="center"
  682. label="12">
  683. <template slot-scope="scope" slot="header">
  684. <el-tooltip effect="dark" :content="$t('电阻值测量')" placement="top">
  685. <span>12</span>
  686. </el-tooltip>
  687. </template>
  688. </el-table-column>
  689. <el-table-column
  690. prop="pj13"
  691. header-align="center"
  692. align="center"
  693. label="13">
  694. <template slot-scope="scope" slot="header">
  695. <el-tooltip effect="dark" :content="$t('壁厚测定')" placement="top">
  696. <span>13</span>
  697. </el-tooltip>
  698. </template>
  699. </el-table-column>
  700. <el-table-column
  701. prop="checkDate"
  702. header-align="center"
  703. align="center"
  704. :label="$t('检查日期')">
  705. </el-table-column>
  706. <el-table-column
  707. prop="nextCheckDate"
  708. header-align="center"
  709. align="center"
  710. :label="$t('下次年检时间')">
  711. </el-table-column>
  712. <el-table-column
  713. prop="problem"
  714. header-align="center"
  715. align="center"
  716. :label="$t('问题及处理')">
  717. </el-table-column>
  718. <el-table-column
  719. prop="con"
  720. header-align="center"
  721. align="center"
  722. :label="$t('结论')"
  723. :formatter="conFormat">
  724. </el-table-column>
  725. <el-table-column
  726. prop="yearReportNo"
  727. header-align="center"
  728. align="center"
  729. :label="$t('报告编号')">
  730. </el-table-column>
  731. </el-table>
  732. <el-table
  733. v-show="dataForm.approveType != 7 && dataForm.devType == 1"
  734. :data="devList"
  735. border
  736. style="width: 100%; height: 95px">
  737. <el-table-column
  738. prop="plantCode"
  739. header-align="center"
  740. align="center"
  741. :label="$t('装置名称')">
  742. </el-table-column>
  743. <el-table-column
  744. prop="devno"
  745. header-align="center"
  746. align="center"
  747. :label="$t('位号')">
  748. </el-table-column>
  749. <el-table-column
  750. prop="devname"
  751. header-align="center"
  752. align="center"
  753. :show-overflow-tooltip="true"
  754. width="150"
  755. :label="$t('设备名称')">
  756. </el-table-column>
  757. <el-table-column
  758. prop="useno"
  759. header-align="center"
  760. align="center"
  761. :show-overflow-tooltip="true"
  762. :label="$t('使用证编号')">
  763. </el-table-column>
  764. <el-table-column
  765. prop="medium"
  766. header-align="center"
  767. align="center"
  768. :show-overflow-tooltip="true"
  769. :label="$t('介质')">
  770. </el-table-column>
  771. <el-table-column
  772. prop="desPressure"
  773. header-align="center"
  774. align="center"
  775. :show-overflow-tooltip="true"
  776. :label="$t('设计压力')+'(MPa)'">
  777. </el-table-column>
  778. <el-table-column
  779. prop="desTemp"
  780. header-align="center"
  781. align="center"
  782. :show-overflow-tooltip="true"
  783. :label="$t('设计温度')+'(℃)'">
  784. </el-table-column>
  785. </el-table>
  786. <el-table
  787. v-show="dataForm.approveType != 7 && dataForm.devType == 2"
  788. :data="devList"
  789. border
  790. style="width: 100%; height: 95px">
  791. <el-table-column
  792. prop="plantCode"
  793. header-align="center"
  794. align="center"
  795. width="100"
  796. :label="$t('装置名称')">
  797. </el-table-column>
  798. <el-table-column
  799. prop="devno"
  800. header-align="center"
  801. align="center"
  802. width="120"
  803. :label="$t('位号')">
  804. </el-table-column>
  805. <el-table-column
  806. prop="starting"
  807. header-align="center"
  808. align="center"
  809. width="100"
  810. :show-overflow-tooltip="true"
  811. :label="$t('起点')">
  812. </el-table-column>
  813. <el-table-column
  814. prop="ending"
  815. header-align="center"
  816. align="center"
  817. width="100"
  818. :show-overflow-tooltip="true"
  819. :label="$t('终点')">
  820. </el-table-column>
  821. <el-table-column
  822. prop="medium"
  823. header-align="center"
  824. align="center"
  825. width="100"
  826. :show-overflow-tooltip="true"
  827. :label="$t('介质')">
  828. </el-table-column>
  829. <el-table-column
  830. prop="desPressure"
  831. header-align="center"
  832. align="center"
  833. :label="$t('设计压力')">
  834. </el-table-column>
  835. <el-table-column
  836. prop="desTemp"
  837. header-align="center"
  838. align="center"
  839. :label="$t('设计温度')">
  840. </el-table-column>
  841. <el-table-column
  842. prop="optPressure"
  843. header-align="center"
  844. align="center"
  845. :label="$t('工作压力')">
  846. </el-table-column>
  847. <el-table-column
  848. prop="optTemp"
  849. header-align="center"
  850. align="center"
  851. width="100"
  852. :show-overflow-tooltip="true"
  853. :label="$t('工作温度')">
  854. </el-table-column>
  855. </el-table>
  856. <el-table
  857. v-show="dataForm.devType == 3"
  858. :data="devList"
  859. border
  860. style="width: 100%; height: 95px">
  861. <el-table-column
  862. prop="plantCode"
  863. header-align="center"
  864. align="center"
  865. :label="$t('装置名称')">
  866. </el-table-column>
  867. <el-table-column
  868. prop="docno"
  869. header-align="center"
  870. align="center"
  871. :show-overflow-tooltip="true"
  872. :label="$t('档案号')">
  873. </el-table-column>
  874. <el-table-column
  875. prop="devname"
  876. header-align="center"
  877. align="center"
  878. :show-overflow-tooltip="true"
  879. width="150"
  880. :label="$t('设备名称')">
  881. </el-table-column>
  882. <el-table-column
  883. prop="capacity"
  884. header-align="center"
  885. align="center"
  886. :show-overflow-tooltip="true"
  887. :label="$t('起吊重量')+'(ton)'">
  888. </el-table-column>
  889. <el-table-column
  890. prop="location"
  891. header-align="center"
  892. align="center"
  893. :show-overflow-tooltip="true"
  894. :label="$t('使用地点')">
  895. </el-table-column>
  896. </el-table>
  897. <el-table
  898. v-show="dataForm.devType == 4"
  899. :data="devList"
  900. border
  901. style="width: 100%; height: 95px">
  902. <el-table-column
  903. prop="plantCode"
  904. header-align="center"
  905. align="center"
  906. :show-overflow-tooltip="true"
  907. :label="$t('装置名称')">
  908. </el-table-column>
  909. <el-table-column
  910. prop="devno"
  911. header-align="center"
  912. align="center"
  913. :show-overflow-tooltip="true"
  914. :label="$t('位号')">
  915. </el-table-column>
  916. <el-table-column
  917. prop="devname"
  918. header-align="center"
  919. align="center"
  920. :show-overflow-tooltip="true"
  921. width="120"
  922. :label="$t('设备名称')">
  923. </el-table-column>
  924. <el-table-column
  925. prop="useno"
  926. header-align="center"
  927. align="center"
  928. :show-overflow-tooltip="true"
  929. :label="$t('使用证编号')">
  930. </el-table-column>
  931. <el-table-column
  932. prop="desTemp"
  933. header-align="center"
  934. align="center"
  935. :label="$t('设计温度')+'(℃)'">
  936. </el-table-column>
  937. <el-table-column
  938. prop="desPressure"
  939. header-align="center"
  940. align="center"
  941. :label="$t('设计压力')+'(MPa)'">
  942. </el-table-column>
  943. </el-table>
  944. <el-table
  945. v-show="dataForm.devType == 5"
  946. :data="devList"
  947. border
  948. style="width: 100%; height: 95px">
  949. <el-table-column
  950. prop="plantCode"
  951. header-align="center"
  952. align="center"
  953. :label="$t('装置名称')">
  954. </el-table-column>
  955. <el-table-column
  956. prop="docno"
  957. header-align="center"
  958. align="center"
  959. :label="$t('docNo')">
  960. </el-table-column>
  961. <el-table-column
  962. prop="devname"
  963. header-align="center"
  964. align="center"
  965. :show-overflow-tooltip="true"
  966. width="150"
  967. :label="$t('设备名称')">
  968. </el-table-column>
  969. <el-table-column
  970. prop="model"
  971. header-align="center"
  972. align="center"
  973. :show-overflow-tooltip="true"
  974. width="120"
  975. :label="$t('型号')">
  976. </el-table-column>
  977. <el-table-column
  978. prop="location"
  979. header-align="center"
  980. align="center"
  981. :show-overflow-tooltip="true"
  982. :label="$t('使用地点')">
  983. </el-table-column>
  984. </el-table>
  985. <el-table
  986. v-show="dataForm.devType == 6"
  987. :data="devList"
  988. border
  989. style="width: 100%; height: 95px">
  990. <el-table-column
  991. prop="plantCode"
  992. header-align="center"
  993. align="center"
  994. :label="$t('装置名称')">
  995. </el-table-column>
  996. <el-table-column
  997. prop="useDept"
  998. header-align="center"
  999. align="center"
  1000. :label="$t('dept')">
  1001. </el-table-column>
  1002. <el-table-column
  1003. prop="carNo"
  1004. header-align="center"
  1005. align="center"
  1006. :label="$t('plateNo')">
  1007. </el-table-column>
  1008. <el-table-column
  1009. prop="docno"
  1010. header-align="center"
  1011. align="center"
  1012. :label="$t('docNo')">
  1013. </el-table-column>
  1014. <el-table-column
  1015. prop="model"
  1016. header-align="center"
  1017. align="center"
  1018. :show-overflow-tooltip="true"
  1019. width="120"
  1020. :label="$t('model')">
  1021. </el-table-column>
  1022. </el-table>
  1023. <el-table
  1024. v-show="dataForm.devType == 7"
  1025. :data="devList"
  1026. border
  1027. style="width: 100%; height: 95px">
  1028. <el-table-column
  1029. prop="plantCode"
  1030. header-align="center"
  1031. align="center"
  1032. :label="$t('装置名称')">
  1033. </el-table-column>
  1034. <el-table-column
  1035. prop="unit"
  1036. header-align="center"
  1037. align="center"
  1038. :label="$t('单元')">
  1039. </el-table-column>
  1040. <el-table-column
  1041. prop="devno"
  1042. header-align="center"
  1043. align="center"
  1044. :label="$t('位号')">
  1045. </el-table-column>
  1046. <el-table-column
  1047. prop="devname"
  1048. header-align="center"
  1049. align="center"
  1050. :label="$t('名称')">
  1051. </el-table-column>
  1052. <el-table-column
  1053. prop="createno"
  1054. header-align="center"
  1055. align="center"
  1056. :label="$t('制造编号')">
  1057. </el-table-column>
  1058. <el-table-column
  1059. prop="indiameter"
  1060. header-align="center"
  1061. align="center"
  1062. :show-overflow-tooltip="true"
  1063. width="120"
  1064. :label="$t('内径')+' mm'">
  1065. </el-table-column>
  1066. <el-table-column
  1067. prop="height"
  1068. header-align="center"
  1069. align="center"
  1070. :show-overflow-tooltip="true"
  1071. width="120"
  1072. :label="$t('高(长)')+' mm'">
  1073. </el-table-column>
  1074. <el-table-column
  1075. prop="chickness"
  1076. header-align="center"
  1077. align="center"
  1078. :show-overflow-tooltip="true"
  1079. width="120"
  1080. :label="$t('壁厚(mm)')">
  1081. </el-table-column>
  1082. <el-table-column
  1083. prop="volume"
  1084. header-align="center"
  1085. align="center"
  1086. :show-overflow-tooltip="true"
  1087. width="120"
  1088. :label="$t('容积mm³')">
  1089. </el-table-column>
  1090. <el-table-column
  1091. prop="medium"
  1092. header-align="center"
  1093. align="center"
  1094. :show-overflow-tooltip="true"
  1095. width="120"
  1096. :label="$t('介质')">
  1097. </el-table-column>
  1098. <el-table-column
  1099. prop="material"
  1100. header-align="center"
  1101. align="center"
  1102. :show-overflow-tooltip="true"
  1103. width="120"
  1104. :label="$t('材料')">
  1105. </el-table-column>
  1106. </el-table>
  1107. <el-button @click="recordHandle(devList,dataForm)" type="text" v-if="devList.length >1">{{$t('更多条目')}}</el-button>
  1108. </el-form-item>
  1109. <el-row>
  1110. <el-col :span="8" v-if="dataForm.approveType != 8">
  1111. <el-form-item :label="$t('设备类型')" prop="devType">
  1112. <el-select v-model="dataForm.devType" :placeholder="$t('message.select')" disabled>
  1113. <el-option
  1114. v-for="dict in devTypeOption"
  1115. :key="dict.dictValue"
  1116. :label="dict.dictLabel"
  1117. :value="parseInt(dict.dictValue)">
  1118. </el-option>
  1119. </el-select>
  1120. </el-form-item>
  1121. </el-col>
  1122. <el-col :span="8">
  1123. <el-form-item :label="$t('审批类型')" prop="approveType">
  1124. <el-select v-model="dataForm.approveType" :placeholder="$t('message.select')" disabled>
  1125. <el-option
  1126. v-for="dict in approveOption"
  1127. :key="dict.dictValue"
  1128. :label="dict.dictLabel"
  1129. :value="parseInt(dict.dictValue)">
  1130. </el-option>
  1131. </el-select>
  1132. </el-form-item>
  1133. </el-col>
  1134. </el-row>
  1135. <el-form-item :label="$t('申请时间')" prop="creattime">
  1136. <el-input v-model="dataForm.creattime" disabled></el-input>
  1137. </el-form-item>
  1138. <el-form-item v-if="[5,7].includes(dataForm.approveType)" :label="$t('原因描述')" prop="content">
  1139. <el-input type="textarea" :placeholder="$t('原因描述')"
  1140. v-model="dataForm.content"
  1141. maxlength="200"
  1142. :autosize="{ minRows: 2, maxRows: 10}" disabled></el-input>
  1143. </el-form-item>
  1144. <template v-if="dataForm.approveType == 5">
  1145. <el-form-item :label="$t('延期日期')" prop="delayDate">
  1146. <el-form-item prop="endTime">
  1147. <el-date-picker
  1148. v-model="dataForm.delayDate"
  1149. type="date"
  1150. value-format="yyyy-MM-dd"
  1151. :placeholder="$t('selectDate')" disabled>
  1152. </el-date-picker>
  1153. </el-form-item>
  1154. </el-form-item>
  1155. <el-form-item :label="$t('延期原因')" prop="delayReason">
  1156. <el-input type="textarea" :placeholder="$t('延期原因')"
  1157. v-model="dataForm.delayReason"
  1158. :autosize="{ minRows: 2, maxRows: 50}" disabled></el-input>
  1159. </el-form-item>
  1160. <el-form-item :label="$t('延期措施')" prop="delayMeasure">
  1161. <el-input type="textarea" :placeholder="$t('延期措施')"
  1162. v-model="dataForm.delayMeasure"
  1163. :autosize="{ minRows: 2, maxRows: 50}" disabled></el-input>
  1164. </el-form-item>
  1165. <el-form-item :label="$t('延期责任安全声明')" prop="delayNotice">
  1166. <el-input type="textarea" :placeholder="$t('延期责任安全声明')"
  1167. v-model="dataForm.delayNotice"
  1168. :autosize="{ minRows: 2, maxRows: 50}" disabled></el-input>
  1169. </el-form-item>
  1170. </template>
  1171. <el-form-item :label="$t('附件')" prop="fileUrls" v-if="[-1,1,2,3,4,5,6].includes(dataForm.approveType)">
  1172. <template v-for="item in this.dataForm.files">
  1173. <a style="margin-right: 40px" class='download' :href='getUrl(item.fileUrl)' download="" target="_blank" :title="$t('download')">{{item.fileName}}</a>
  1174. </template>
  1175. </el-form-item >
  1176. <el-form-item :label="$t('政府回执')" prop="fileUrls" v-if="[-1,1,2,3,4,5,6].includes(dataForm.approveType)">
  1177. <template v-for="item in this.dataForm.govFiles">
  1178. <a style="margin-right: 40px" class='download' :href='getUrl(item.fileUrl)' download="" target="_blank" :title="$t('download')">{{item.fileName}}</a>
  1179. </template>
  1180. </el-form-item >
  1181. <el-form-item :label="$t('回执日期')" v-if="[-1,1,2,3,4,5,6].includes(dataForm.approveType)" prop="govDate">
  1182. <el-input v-model="dataForm.govDate" disabled></el-input>
  1183. </el-form-item>
  1184. </el-form>
  1185. <span v-if="this.taskName == '政府回执'" slot="footer" class="dialog-footer">
  1186. <el-button v-if="this.dataForm.approveType == 5" type="text" size="small" @click="recordLetter()">{{$t('downloadLetter')}}</el-button>
  1187. <el-button v-if="!this.taskForm.taskId == ''" type="primary" @click="dataFormSubmit(1)" :disabled="submitDisabled">{{$t('submitReceipt')}}</el-button>
  1188. </span>
  1189. <span slot="footer" class="dialog-footer" v-else>
  1190. <el-button v-if="this.taskForm.taskId == ''" @click="visible = false">{{$t('message.return')}}</el-button>
  1191. <el-button v-if="!this.taskForm.taskId == ''" type="primary" @click="dataFormSubmit(1)" :disabled="submitDisabled">{{$t('通过')}}</el-button>
  1192. <el-button v-if="!this.taskForm.taskId == ''" type="danger" @click="dataFormSubmit(0)" :disabled="submitDisabled">{{$t('拒绝')}}</el-button>
  1193. </span>
  1194. <div>
  1195. <span>{{$t('流转详情')}}</span>
  1196. <el-table :data="historyList" border v-loading="historyLoading" style="width: 100%;">
  1197. <el-table-column prop="taskName" header-align="center" align="center" :label="$t('流程进度')"></el-table-column>
  1198. <el-table-column prop="userName" header-align="center" align="center" :label="$t('姓名')"></el-table-column>
  1199. <el-table-column prop="taskCreateTime" header-align="center" align="center" :label="$t('开始时间')"></el-table-column>
  1200. <el-table-column prop="taskEndTime" header-align="center" align="center" :label="$t('结束时间')"></el-table-column>
  1201. <el-table-column prop="comment" header-align="center" align="center" :label="$t('审批意见')"></el-table-column>
  1202. </el-table>
  1203. </div>
  1204. <record v-if="recordVisible" ref="recordDeal"></record>
  1205. </el-dialog>
  1206. </template>
  1207. <script>
  1208. import record from "./spec-itemDetail";
  1209. import {getToken} from "@/utils/auth";
  1210. import {getApprove, getApproveInfo, handleApprove} from "@/api/sems/approve";
  1211. import {getHistorylist} from "@/api/ehs/approvedanger";
  1212. export default {
  1213. name: "spec-deal",
  1214. components: {record},
  1215. data() {
  1216. return {
  1217. loading: true,
  1218. // 总条数
  1219. total: 0,
  1220. approvedangerList: [],
  1221. recordVisible: false,
  1222. // 遮罩层
  1223. historyLoading: false,
  1224. //流转列表
  1225. historyList: [],
  1226. visible: false,
  1227. devList: [],
  1228. dataList: [],
  1229. fileTips: '',
  1230. showDelay: false,
  1231. submitDisabled: false,
  1232. dataListLoading:true,
  1233. taskName: '',
  1234. dataForm: {
  1235. id: 0,
  1236. userId: '',
  1237. devId: '',
  1238. devType: '',
  1239. approveType: '',
  1240. content: '',
  1241. fileUrls: '',
  1242. reUrls: '',
  1243. status: '',
  1244. creattime: '',
  1245. plantCode: '',
  1246. unit: '',
  1247. devname: '',
  1248. devno: '',
  1249. files: [],
  1250. govFiles: [],
  1251. delayDate: '',
  1252. delayReason: '',
  1253. delayMeasure: '',
  1254. delayNotice: '',
  1255. govDate: '',
  1256. },
  1257. taskForm: {
  1258. comment: '',
  1259. taskId: '',
  1260. files: '',
  1261. govDate: '',
  1262. govFileList: []
  1263. },
  1264. // 查询参数
  1265. queryParams: {
  1266. processId: null,
  1267. },
  1268. doc: {
  1269. file: "",
  1270. // 是否显示弹出层(报告附件)
  1271. open: false,
  1272. // 弹出层标题(报告附件)
  1273. title: "",
  1274. // 是否禁用上传
  1275. isUploading: false,
  1276. // 是否更新已经存在的用户数据
  1277. updateSupport: 0,
  1278. // 报告附件上传位置编号
  1279. ids: 0,
  1280. // 设置上传的请求头部
  1281. headers: { Authorization: "Bearer " + getToken() },
  1282. // 上传的地址
  1283. url: process.env.VUE_APP_BASE_API + "/sems/specfile/uploadFile",
  1284. commonfileList: null,
  1285. pType: 'traning',
  1286. pId: null
  1287. },
  1288. dataRule: {
  1289. },
  1290. // 容器本体字典
  1291. rqSelfOptions: [],
  1292. // 安全附件字典
  1293. rqSafeOptions: [],
  1294. // 安全保护装置字典
  1295. rqProtectOptions: [],
  1296. // 测量调控装置,紧急切断阀字典
  1297. rqControlOptions: [],
  1298. // 附属仪器仪表字典
  1299. rqInsOptions: [],
  1300. // 有无泄漏字典
  1301. rqOutOptions: [],
  1302. // 管道宏观字典
  1303. gdSelfOptions: [],
  1304. // 安全附件字典
  1305. gdSafeOptions: [],
  1306. // 测量调控装置字典
  1307. gdControlOptions: [],
  1308. // 附属仪器仪表字典
  1309. gdInsOptions: [],
  1310. // 有无泄漏字典
  1311. gdOutOptions: [],
  1312. // 承压部件字典
  1313. glPressureOptions: [],
  1314. // 安全附件字典
  1315. glSafeOptions: [],
  1316. // 仪表及联锁保护装置字典
  1317. glInsOptions: [],
  1318. // 燃烧器字典
  1319. glBurnOptions: [],
  1320. // 人员证书字典
  1321. glCerOptions: [],
  1322. // 水质化验字典
  1323. glWaterOptions: [],
  1324. approveOption: [],
  1325. devTypeOption: [],
  1326. conOptions: [],
  1327. belong: '',
  1328. fileList: [],
  1329. };
  1330. },
  1331. watch: {
  1332. // 根据名称筛选部门树
  1333. deptName(val) {
  1334. this.$refs.tree.filter(val);
  1335. }
  1336. },
  1337. created() {
  1338. this.getDicts("REPORT_CON").then(response => {
  1339. this.conOptions = response.data;
  1340. });
  1341. this.getDicts("ABNORMALITY").then(response => {
  1342. this.rqSelfOptions = response.data;
  1343. });
  1344. this.getDicts("CONFORM").then(response => {
  1345. this.rqSafeOptions = response.data;
  1346. });
  1347. this.getDicts("CONFORM").then(response => {
  1348. this.rqProtectOptions = response.data;
  1349. });
  1350. this.getDicts("INTACT").then(response => {
  1351. this.rqControlOptions = response.data;
  1352. });
  1353. this.getDicts("INTACT").then(response => {
  1354. this.rqInsOptions = response.data;
  1355. });
  1356. this.getDicts("WITH_WITHOUT").then(response => {
  1357. this.rqOutOptions = response.data;
  1358. });
  1359. this.getDicts("ABNORMALITY").then(response => {
  1360. this.gdSelfOptions = response.data;
  1361. });
  1362. this.getDicts("CONFORM").then(response => {
  1363. this.gdSafeOptions = response.data;
  1364. });
  1365. this.getDicts("CONFORM").then(response => {
  1366. this.gdControlOptions = response.data;
  1367. });
  1368. this.getDicts("INTACT").then(response => {
  1369. this.gdInsOptions = response.data;
  1370. });
  1371. this.getDicts("WITH_WITHOUT").then(response => {
  1372. this.gdOutOptions = response.data;
  1373. });
  1374. this.getDicts("ABNORMALITY").then(response => {
  1375. this.glPressureOptions = response.data;
  1376. });
  1377. this.getDicts("CONFORM").then(response => {
  1378. this.glSafeOptions = response.data;
  1379. });
  1380. this.getDicts("CONFORM").then(response => {
  1381. this.glInsOptions = response.data;
  1382. });
  1383. this.getDicts("INTACT").then(response => {
  1384. this.glBurnOptions = response.data;
  1385. });
  1386. this.getDicts("CONFORM").then(response => {
  1387. this.glCerOptions = response.data;
  1388. });
  1389. this.getDicts("CONFORM").then(response => {
  1390. this.glWaterOptions = response.data;
  1391. });
  1392. },
  1393. methods: {
  1394. init (id, taskId, processId,taskName) {
  1395. this.taskForm.govFileList = []
  1396. this.getDicts("spec_approve_type").then(response => {
  1397. this.approveOption = response.data;
  1398. });
  1399. this.getDicts("spec_dev_type").then(response => {
  1400. this.devTypeOption = response.data;
  1401. });
  1402. this.dataForm.processId = processId
  1403. this.taskName = taskName
  1404. this.taskForm.taskId = taskId
  1405. this.dataForm.id = id || 0
  1406. this.visible = true
  1407. this.queryParams.processId = processId;
  1408. getHistorylist(this.queryParams).then(response => {
  1409. this.historyList = response.rows;
  1410. this.historyLoading = false
  1411. });
  1412. getApproveInfo(id).then(response => {
  1413. this.dataForm.userId = response.data.userId
  1414. this.dataForm.devId = response.data.devId
  1415. this.dataForm.devType = response.data.devType
  1416. this.dataForm.approveType = response.data.approveType
  1417. this.dataForm.content = response.data.content
  1418. this.dataForm.fileUrls = response.data.fileUrls
  1419. this.dataForm.reUrls = response.data.reUrls
  1420. this.dataForm.status = response.data.status
  1421. this.dataForm.creattime = response.data.creattime
  1422. this.dataForm.plantCode = response.data.plantCode
  1423. this.dataForm.unit = response.data.unit
  1424. this.dataForm.devname = response.data.devname
  1425. this.dataForm.devno = response.data.devno
  1426. this.dataForm.files = response.data.files
  1427. this.dataForm.govFiles = response.data.govFiles
  1428. this.devList = response.data.devList
  1429. this.dataForm.delayDate = response.data.delayDate
  1430. this.dataForm.delayReason = response.data.delayReason
  1431. this.dataForm.delayMeasure = response.data.delayMeasure
  1432. this.dataForm.delayNotice = response.data.delayNotice
  1433. this.dataForm.govDate = response.data.govDate
  1434. });
  1435. },
  1436. recordLetter(){
  1437. var name = row.fileName;
  1438. var url = row.fileUrl;
  1439. var suffix = url.substring(url.lastIndexOf("."), url.length);
  1440. const a = document.createElement('a')
  1441. a.setAttribute('download', name)
  1442. a.setAttribute('target', '_blank')
  1443. a.setAttribute('href', process.env.VUE_APP_BASE_API + url)
  1444. a.click()
  1445. },
  1446. // 设备类型:字典翻译
  1447. devTypeFormat(row, column) {
  1448. return this.selectDictLabel(this.devTypeOptions, row.devType);
  1449. },
  1450. // 审批类型字典翻译
  1451. approveTypeFormat(row, column) {
  1452. return this.selectDictLabel(this.approveTypeOptions, row.approveType);
  1453. },
  1454. // 检查结论字典翻译
  1455. conFormat(row, column) {
  1456. return this.selectDictLabel(this.conOptions, row.con);
  1457. },
  1458. // 容器本体字典翻译
  1459. rqSelfFormat(row, column) {
  1460. return this.selectDictLabel(this.rqSelfOptions, row.rqSelf);
  1461. },
  1462. // 安全附件字典翻译
  1463. rqSafeFormat(row, column) {
  1464. return this.selectDictLabel(this.rqSafeOptions, row.rqSafe);
  1465. },
  1466. // 安全保护装置字典翻译
  1467. rqProtectFormat(row, column) {
  1468. return this.selectDictLabel(this.rqProtectOptions, row.rqProtect);
  1469. },
  1470. // 测量调控装置,紧急切断阀字典翻译
  1471. rqControlFormat(row, column) {
  1472. return this.selectDictLabel(this.rqControlOptions, row.rqControl);
  1473. },
  1474. // 附属仪器仪表字典翻译
  1475. rqInsFormat(row, column) {
  1476. return this.selectDictLabel(this.rqInsOptions, row.rqIns);
  1477. },
  1478. // 有无泄漏字典翻译
  1479. rqOutFormat(row, column) {
  1480. return this.selectDictLabel(this.rqOutOptions, row.rqOut);
  1481. },
  1482. // 管道宏观字典翻译
  1483. gdSelfFormat(row, column) {
  1484. return this.selectDictLabel(this.gdSelfOptions, row.gdSelf);
  1485. },
  1486. // 安全附件字典翻译
  1487. gdSafeFormat(row, column) {
  1488. return this.selectDictLabel(this.gdSafeOptions, row.gdSafe);
  1489. },
  1490. // 测量调控装置字典翻译
  1491. gdControlFormat(row, column) {
  1492. return this.selectDictLabel(this.gdControlOptions, row.gdControl);
  1493. },
  1494. // 附属仪器仪表字典翻译
  1495. gdInsFormat(row, column) {
  1496. return this.selectDictLabel(this.gdInsOptions, row.gdIns);
  1497. },
  1498. // 有无泄漏字典翻译
  1499. gdOutFormat(row, column) {
  1500. return this.selectDictLabel(this.gdOutOptions, row.gdOut);
  1501. },
  1502. // 承压部件字典翻译
  1503. glPressureFormat(row, column) {
  1504. return this.selectDictLabel(this.glPressureOptions, row.glPressure);
  1505. },
  1506. // 安全附件字典翻译
  1507. glSafeFormat(row, column) {
  1508. return this.selectDictLabel(this.glSafeOptions, row.glSafe);
  1509. },
  1510. // 仪表及联锁保护装置字典翻译
  1511. glInsFormat(row, column) {
  1512. return this.selectDictLabel(this.glInsOptions, row.glIns);
  1513. },
  1514. // 燃烧器字典翻译
  1515. glBurnFormat(row, column) {
  1516. return this.selectDictLabel(this.glBurnOptions, row.glBurn);
  1517. },
  1518. // 人员证书字典翻译
  1519. glCerFormat(row, column) {
  1520. return this.selectDictLabel(this.glCerOptions, row.glCer);
  1521. },
  1522. // 水质化验字典翻译
  1523. glWaterFormat(row, column) {
  1524. return this.selectDictLabel(this.glWaterOptions, row.glWater);
  1525. },
  1526. // 取消按钮
  1527. cancel() {
  1528. this.visible = false;
  1529. this.reset();
  1530. },
  1531. // 表单重置
  1532. reset() {
  1533. this.form = {
  1534. id: null,
  1535. userId: null,
  1536. devId: null,
  1537. devType: null,
  1538. approveType: null,
  1539. content: null,
  1540. fileUrls: null,
  1541. reUrls: null,
  1542. status: 0,
  1543. creattime: null,
  1544. endtime: null,
  1545. processId: null,
  1546. govDate: null,
  1547. delayDate: null,
  1548. delayReason: null,
  1549. delayMeasure: null,
  1550. delayNotice: null,
  1551. apNo: null,
  1552. checkDate: null,
  1553. reportId: null,
  1554. monthId: null,
  1555. delFlag: null,
  1556. deptId: null
  1557. };
  1558. this.resetForm("form");
  1559. },
  1560. /** 搜索按钮操作 */
  1561. handleQuery() {
  1562. this.queryParams.pageNum = 1;
  1563. this.getList();
  1564. },
  1565. /** 重置按钮操作 */
  1566. resetQuery() {
  1567. this.resetForm("queryForm");
  1568. this.handleQuery();
  1569. },
  1570. // 多选框选中数据
  1571. handleSelectionChange(selection) {
  1572. this.ids = selection.map(item => item.id)
  1573. this.single = selection.length!==1
  1574. this.multiple = !selection.length
  1575. },
  1576. /** 新增按钮操作 */
  1577. handleAdd() {
  1578. this.reset();
  1579. this.open = true;
  1580. this.title = this.$t('添加特种设备申请');
  1581. },
  1582. /** 修改按钮操作 */
  1583. handleUpdate(row) {
  1584. this.reset();
  1585. const id = row.id || this.ids
  1586. getApprove(id).then(response => {
  1587. this.form = response.data;
  1588. this.open = true;
  1589. this.title = this.$t('修改特种设备申请');;
  1590. });
  1591. },
  1592. //附件上传中处理
  1593. handleFileDocProgress(event, file, fileList) {
  1594. },
  1595. handleRemove (file, fileList) {
  1596. this.taskForm.govFileList = fileList
  1597. },
  1598. //附件上传成功处理
  1599. handleFileDocSuccess(response, file, fileList) {
  1600. this.taskForm.govFileList = fileList
  1601. if (response.code == 200){
  1602. this.$alert(this.$t('导入成功'), this.$t('导入结果'), { dangerouslyUseHTMLString: true });
  1603. }else {
  1604. this.$alert(response.msg, this.$t('导入结果'), { dangerouslyUseHTMLString: true });
  1605. }
  1606. },
  1607. /** 提交按钮 */
  1608. // 表单提交
  1609. dataFormSubmit (val) {
  1610. this.submitDisabled = true
  1611. console.log(this.taskForm.govFileList)
  1612. this.dataForm.files = []
  1613. if (this.taskForm.govFileList.length > 0) {
  1614. for (let i = 0; i < this.taskForm.govFileList.length; i++) {
  1615. let obj = {}
  1616. obj.fileName = this.taskForm.govFileList[i].response.fileName
  1617. obj.fileUrl = this.taskForm.govFileList[i].response.url
  1618. this.dataForm.files.push(obj)
  1619. }
  1620. }
  1621. this.taskForm.condition = val
  1622. this.taskForm.govFiles = this.dataForm.files
  1623. handleApprove(this.taskForm).then(response => {
  1624. this.msgSuccess(this.$t('处理成功'));
  1625. this.visible = false;
  1626. this.getList();
  1627. });
  1628. this.$nextTick(function () {
  1629. this.comment = ''
  1630. })
  1631. },
  1632. handleChange(value) {
  1633. this.showDelay = false
  1634. if (value == -1) {
  1635. this.fileTips = '提示:请提供相关支持文件'
  1636. }else if (value == 1) {
  1637. this.fileTips = '提示:请提供启用前检查报告'
  1638. }else if (value == 2) {
  1639. this.fileTips = ''
  1640. }else if (value == 3) {
  1641. this.fileTips = '提示:请提供设备主体破坏后的照片,防止被其他单位买走重新使用'
  1642. }else if (value == 4) {
  1643. this.fileTips = '提示:请提供相关支持文件'
  1644. }else if (value == 5) {
  1645. this.showDelay = true
  1646. this.fileTips = '提示:延期发起的会议纪要等背景情况'
  1647. this.dataForm.delayReason=
  1648. '根据2015年压力管道检验报告,清单中的相关管道材质中度球化,安全等级定为3级,下次检验日期定为2018年5月。\n' +
  1649. '由于这些管道连接电厂蒸汽母管,无法单独隔绝,只有在2020年扬巴大修期间才有机会停车检验,因此提出延期申请。\n'
  1650. this.dataForm.delayMeasure=
  1651. '(生产部门,应该根据实际情况,组织机械,电仪各专业,制定具体的运行监控措施描述)\n' +
  1652. '\n' +
  1653. '工艺部门:\n' +
  1654. '维持相关管道操作稳定\n' +
  1655. '持续监控相关管道操作压力和温度\n' +
  1656. '按照法规要求,定期开展应急演练\n' +
  1657. '\n' +
  1658. '\n' +
  1659. '机修部门:\n' +
  1660. '每月对相关管道进行走线巡检,对管道支吊架,保温目视检查。如有问题,记录在巡检记录中\n' +
  1661. '及时报告管道使用情况及需要解决的问题\n' +
  1662. '发生事故及时组织调查处理,并配合写出事故报告书\n' +
  1663. '\n' +
  1664. '电仪部门:\n' +
  1665. 'XXXXXXXXXXX描述电仪方面的维护或监控措施\n'
  1666. this.dataForm.delayNotice=
  1667. '我单位/装置,已制定相应预防措施和应急预案,并保证落实安全管理责任、操作人员持证上岗、安全附件和安全保护装置在有效期内。在检验延期期间,将对以上设备加强巡查和实施有效安全监控,做好监控记录,对延期期间的设备安全负完全责任;在延期期满前,我单位将申报并安排以上设备实施定期检验。'
  1668. }else if (value == 6) {
  1669. this.fileTips = '提示:请提供安全评估报告'
  1670. }else {
  1671. this.fileTips = ''
  1672. }
  1673. },
  1674. recordHandle(devList,dataForm){
  1675. this.recordVisible = true
  1676. this.$nextTick(() => {
  1677. this.$refs.recordDeal.init(devList,dataForm);
  1678. })
  1679. },
  1680. getUrl(url) {
  1681. return process.env.VUE_APP_BASE_API + url
  1682. },
  1683. }
  1684. }
  1685. </script>
  1686. <style>
  1687. .el-textarea.is-disabled .el-textarea__inner {
  1688. color: #404040;
  1689. }
  1690. .el-input.is-disabled .el-input__inner {
  1691. color: #404040;
  1692. }
  1693. </style>