InfoDisaster.vue 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918
  1. <template>
  2. <!-- 灾情源设置collapseaside-->
  3. <div class="l_Dialog bbb tablebk ">
  4. <!--火灾左侧栏-->
  5. <div class="common-layout" style="margin: 0" v-show="sour.collfire">
  6. <el-aside width="2.125rem" class="L_aside L_aside1 asideg asidegbg leftbgimg1">
  7. <div class="demo-collapse">
  8. <el-collapse v-model="coolactiveName1" accordion @change="handleChangecollapse ">
  9. <el-collapse-item name="1" class="imgneon">
  10. <template #title>
  11. <el-icon class="iconimg Frame3" fit="contain"></el-icon>
  12. 火灾灾害源设置
  13. </template>
  14. <div class="asides_content">
  15. <div class="jc_content tablecolor">
  16. <div class="jc_padding">
  17. <div class="xian btncolor tablefocus">
  18. <el-table
  19. :data="tableDatay"
  20. @row-click="handleDelete($event)"
  21. :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
  22. :highlight-current-row="currentrow"
  23. style="width: 100%"
  24. :max-height="tableHeight"
  25. :row-class-name="tableRowClassName"
  26. >
  27. <el-table-column prop="pname" label="选择巷道" />
  28. <el-table-column prop="site" label="位置" />
  29. <el-table-column label="操作" >
  30. <template #default="scope">
  31. <el-button
  32. size="small"
  33. type="success"
  34. @click="handledetection(scope.$index, scope.row)"
  35. >查看</el-button
  36. >
  37. </template>
  38. </el-table-column>
  39. </el-table>
  40. <div class="asdis_btn">
  41. <div
  42. class="flex_a"
  43. @click="
  44. newtable($event);
  45. sdialog.dianadddialog = true;
  46. "
  47. >
  48. <div class="btns" ><span class="spantext">添加</span></div>
  49. </div>
  50. <div class="flex_a" @click="xiugaitable()">
  51. <div class="btns"><span class="spantext">修改</span></div>
  52. </div>
  53. <div
  54. class="flex_a"
  55. @click="
  56. shanchu('1');
  57. "
  58. >
  59. <div class="btns"><span class="spantext">删除</span></div>
  60. </div>
  61. </div>
  62. </div>
  63. <!--火灾灾害源表 -->
  64. <div
  65. class="xian tablefocus zaiyuanbiao"
  66. style="margin-top: 20px"
  67. v-show="sdialog.isDisasterfire"
  68. >
  69. <div class="header_l header_z headerimg">
  70. <el-image :src="icon" fit="contain"></el-image>
  71. <h4 class="tianjia">灾害源表</h4>
  72. <div class="closeimg" @click="sdialog.isDisasterfire = false">
  73. <el-image :src="closeimg" fit="contain"></el-image>
  74. </div>
  75. </div>
  76. <el-table
  77. :data="tableDatafir"
  78. style="width: 100%"
  79. :row-class-name="tableRowClassName"
  80. :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
  81. :max-height="tableHeight"
  82. @row-click="handleDelete2($event)"
  83. :highlight-current-row="currentrow1"
  84. >
  85. <el-table-column prop="timeline" label="时间" />
  86. <el-table-column prop="val1" label="温度℃" />
  87. <el-table-column prop="val2" label="二氧化碳" />
  88. <el-table-column prop="val3" label="二氧化硫" />
  89. </el-table>
  90. <div class="asdis_btn">
  91. <div
  92. class="flex_a"
  93. @click="
  94. firinit();
  95. sdialog.adddialog = true;
  96. currentrow1=false;
  97. "
  98. >
  99. <div class="btns"><span class="spantext">添加</span></div>
  100. </div>
  101. <div class="flex_a" @click="zaiyuxiugai()">
  102. <div class="btns"><span class="spantext"> 修改</span></div>
  103. </div>
  104. <div
  105. class="flex_a"
  106. @click="
  107. shanchu('2');
  108. sdialog.dialogsgdelect = true;
  109. "
  110. >
  111. <div class="btns"><span class="spantext">删除</span></div>
  112. </div>
  113. <div class="flex_a">
  114. <div class="btns" @click="sdialog.isDisasterfire = false">
  115. <span class="spantext">确定</span>
  116. </div>
  117. </div>
  118. </div>
  119. </div>
  120. </div>
  121. </div>
  122. </div>
  123. </el-collapse-item>
  124. </el-collapse>
  125. </div>
  126. </el-aside>
  127. </div>
  128. <!-- 突水 -->
  129. <div class="common-layout collapseaside" style="margin: 0" v-show="sour.collwater">
  130. <el-aside width="1.6667rem" class="L_aside L_aside1 asideg asidegbg leftbgimg1">
  131. <div class="demo-collapse">
  132. <!-- 突水 sour.collwater-->
  133. <el-collapse v-model="coolactiveName1" accordion>
  134. <el-collapse-item name="1" class="imgneon">
  135. <template #title>
  136. <el-icon class="iconimg Frame3" fit="contain"></el-icon>
  137. 突水灾害源设置
  138. </template>
  139. <div class="asides_content">
  140. <div class="jc_content tablecolor">
  141. <div class="jc_padding">
  142. <div class="xian btncolor tablefocus">
  143. <el-table
  144. :data="tableDatawat"
  145. style="width: 100%"
  146. :row-class-name="tableRowClassName"
  147. :header-cell-style="{ background: 'rgba(13, 22, 57, 0) ' }"
  148. @row-click="handleDelete($event)"
  149. :max-height="tableHeight"
  150. :highlight-current-row="currentrow"
  151. >
  152. <el-table-column prop="pname" label="选择巷道" />
  153. <el-table-column prop="site" label="位置" />
  154. <el-table-column label="操作" >
  155. <template #default="scope">
  156. <el-button
  157. size="small"
  158. type="success"
  159. @click="handledetection2(scope.$index, scope.row)"
  160. >查看</el-button
  161. >
  162. </template>
  163. </el-table-column>
  164. </el-table>
  165. <div class="asdis_btn">
  166. <div
  167. class="flex_a"
  168. @click="
  169. newtable($event);
  170. sdialog.dianadddialog = true;
  171. "
  172. >
  173. <div class="btns" :class="{tabactive: isActive === 1}" @click="changeClass(1)"><span class="spantext">添加</span></div>
  174. </div>
  175. <div class="flex_a" @click="xiugaitable()">
  176. <div class="btns" :class="{tabactive: isActive === 2}" @click="changeClass(2)"><span class="spantext">修改</span></div>
  177. </div>
  178. <div
  179. class="flex_a"
  180. @click="
  181. shanchu('1');
  182. "
  183. >
  184. <div class="btns" :class="{tabactive: isActive === 3}" @click="changeClass(3)"><span class="spantext">删除</span></div>
  185. </div>
  186. <!-- <div class="flex_a">
  187. <div class="btns"><span class="spantext">确定</span></div>
  188. </div> -->
  189. </div>
  190. </div>
  191. <!-- 灾害源表 -->
  192. <div
  193. class="xian tablefocus"
  194. style="margin-top: 20px"
  195. v-show="sdialog.disDisasterwter"
  196. >
  197. <div class="header_l header_z headerimg">
  198. <el-image :src="icon" fit="contain"></el-image>
  199. <h4 class="tianjia">灾害源表</h4>
  200. <div class="closeimg" @click="sdialog.disDisasterwter = false">
  201. <el-image :src="closeimg" fit="contain"></el-image>
  202. </div>
  203. </div>
  204. <el-table
  205. :data="tableData4"
  206. style="width: 100%"
  207. :max-height="tableHeight"
  208. :row-class-name="tableRowClassName"
  209. :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
  210. @row-click="handleDelete3($event)"
  211. :highlight-current-row="currentrow1"
  212. >
  213. <el-table-column prop="timeline" label="时间/s" />
  214. <el-table-column prop="val1" label="突水量(m³/s)" />
  215. </el-table>
  216. <div class="asdis_btn">
  217. <div
  218. class="flex_a"
  219. @click="
  220. firinit();
  221. sdialog.adddwater = true;
  222. "
  223. >
  224. <div class="btns" :class="{tabactive: isActive === 4}" @click="changeClass(4)"><span class="spantext">添加</span></div>
  225. </div>
  226. <div class="flex_a" @click="zaiyuxiugai()">
  227. <div class="btns" :class="{tabactive: isActive === 5}" @click="changeClass(5)"><span class="spantext"> 修改</span></div>
  228. </div>
  229. <div
  230. class="flex_a"
  231. @click="
  232. shanchu('2');
  233. "
  234. >
  235. <div class="btns" :class="{tabactive: isActive === 6}" @click="changeClass(6)"><span class="spantext">删除</span></div>
  236. </div>
  237. <div class="flex_a" @click="sdialog.disDisasterwter = false">
  238. <div class="btns"><span class="spantext">确定</span></div>
  239. </div>
  240. </div>
  241. </div>
  242. </div>
  243. </div>
  244. </div>
  245. </el-collapse-item>
  246. <!-- <el-collapse-item name="2">
  247. <div style="position: relative;">是的
  248. <info-boundary :classradio="classradio" /></div>
  249. </el-collapse-item> -->
  250. </el-collapse>
  251. </div>
  252. </el-aside>
  253. </div>
  254. <!-- 瓦斯爆炸 -->
  255. <!--火灾左侧栏-->
  256. <div class="common-layout " style="margin: 0" v-show="sour.Gass">
  257. <el-aside width="2.125rem" class="L_aside L_aside1 asideg asidegbg leftbgimg1">
  258. <div class="demo-collapse">
  259. <el-collapse v-model="coolactiveName1" accordion>
  260. <el-collapse-item name="1" class="imgneon">
  261. <template #title>
  262. <el-icon class="iconimg Frame3" fit="contain"></el-icon>
  263. 瓦斯<el-icon class="header-icon"> </el-icon>
  264. </template>
  265. <div class="asides_content">
  266. <div class="jc_content tablecolor">
  267. <div class="jc_padding">
  268. <div class="xian btncolor tablefocus">
  269. <el-table
  270. :data="tableDataws"
  271. style="width: 100%"
  272. :row-class-name="tableRowClassName"
  273. :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
  274. @row-click="handlews($event)"
  275. max-height="350px"
  276. :highlight-current-row="currentrow"
  277. >
  278. <el-table-column type="index" label="序号" width="50" />
  279. <el-table-column prop="gfname" label="网格文件" />
  280. <el-table-column prop="bfname" label="边界文件" />
  281. <el-table-column label="操作" >
  282. <template #default="scope">
  283. <el-button
  284. size="small"
  285. type="success"
  286. @click="handlook(scope.$index, scope.row)"
  287. >查看</el-button
  288. >
  289. </template>
  290. </el-table-column>
  291. </el-table>
  292. <div class="asdis_btn">
  293. <div
  294. class="flex_a"
  295. @click="
  296. wanewadd();
  297. "
  298. >
  299. <div class="btns" :class="{tabactive: isActive === 4}" @click="changeClass(4)"><span class="spantext">添加</span></div>
  300. </div>
  301. <!-- <div class="flex_a" @click="wsxiugai()">
  302. <div class="btns" :class="{tabactive: isActive === 5}" @click="changeClass(5)"><span class="spantext">修改</span></div>
  303. </div> -->
  304. <div
  305. class="flex_a"
  306. @click="wsdelete()
  307. "
  308. >
  309. <div class="btns" :class="{tabactive: isActive === 6}" @click="changeClass(6)"><span class="spantext">删除</span></div>
  310. </div>
  311. </div>
  312. </div>
  313. <!-- 瓦斯爆炸区域 -->
  314. <div
  315. class="xian tablefocus wstable"
  316. v-show="Gassdialog.blast"
  317. >
  318. <div class="header_l header_z">
  319. <el-image :src="icon" fit="contain"></el-image>
  320. <h4 class="tianjia">瓦斯爆炸区域</h4>
  321. <div class="closeimg" @click="Gassdialog.blast = false">
  322. <el-image :src="closeimg" fit="contain"></el-image>
  323. </div>
  324. </div>
  325. <el-table
  326. :data="gtableData"
  327. style="width:100%"
  328. :max-height="tableHeight"
  329. :row-class-name="tableRowClassName"
  330. :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
  331. @row-click="handleblastxg($event)"
  332. :highlight-current-row="currentrow1"
  333. >
  334. <el-table-column prop="pname" label="巷道" />
  335. <el-table-column prop="ssite" label="开始位置" />
  336. <el-table-column prop="esite" label="结束位置" />>
  337. </el-table>
  338. <div class="asdis_btn">
  339. <!-- <div class="btnpading"> -->
  340. <div
  341. class="flex_as"
  342. @click="
  343. wsaddblast();
  344. "
  345. >
  346. <div class="btns"><span class="spantext">添加</span></div>
  347. </div>
  348. <div class="flex_as" @click="wsxiugai2()">
  349. <div class="btns"><span class="spantext"> 修改</span></div>
  350. </div>
  351. <div
  352. class="flex_as"
  353. @click="
  354. wsblastdelete();
  355. "
  356. >
  357. <div class="btns"><span class="spantext">删除</span></div>
  358. </div>
  359. <div class="flex_as" @click="sdialog.disDisasterwter = false">
  360. <div class="btns"><span class="spantext" @click="Gassdialog.blast = false" >确定</span></div>
  361. </div>
  362. <!-- </div> -->
  363. </div>
  364. </div>
  365. <!-- 积聚区 -->
  366. <div
  367. class="xian tablefocus wstable"
  368. v-show="Gassdialog.gather"
  369. >
  370. <div class="header_l header_z">
  371. <el-image :src="icon" fit="contain"></el-image>
  372. <h4 class="tianjia">积聚区</h4>
  373. <div class="closeimg" @click="Gassdialog.gather= false">
  374. <el-image :src="closeimg" fit="contain"></el-image>
  375. </div>
  376. </div>
  377. <el-table
  378. :data="gjtableData"
  379. style="width: 100%"
  380. :max-height="tableHeight"
  381. :row-class-name="tableRowClassName"
  382. :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
  383. @row-click="handlegather($event)"
  384. :highlight-current-row="currentrow2"
  385. >
  386. <el-table-column prop="name" label="区域名" />
  387. <el-table-column
  388. label="类型"
  389. prop="type"
  390. align="center"
  391. width="80px"
  392. >
  393. <template #default="scope">
  394. <span v-if="scope.row.type === '0'">空白区</span>
  395. <span v-else-if="scope.row.type === '1'">积聚区</span>
  396. <span v-else>点火区</span>
  397. </template>
  398. </el-table-column>
  399. <el-table-column prop="gasdensity" label="瓦斯浓度" />>
  400. </el-table>
  401. <div class="asdis_btn">
  402. <!-- <div class="btnpading"> -->
  403. <!-- <div
  404. class="flex_as"
  405. @click="
  406. firinit();
  407. sdialog.adddwater = true;
  408. "
  409. >
  410. <div class="btns"><span class="spantext">添加</span></div>
  411. </div> -->
  412. <div class="flex_as" @click="gatheruxiugai()">
  413. <div class="btns"><span class="spantext"> 修改</span></div>
  414. </div>
  415. <!-- <div
  416. class="flex_as"
  417. @click="
  418. shanchu('2');
  419. "
  420. >
  421. <div class="btns"><span class="spantext">删除</span></div>
  422. </div> -->
  423. <div class="flex_as" @click="Gassdialog.gather= false">
  424. <div class="btns"><span class="spantext">确定</span></div>
  425. </div>
  426. <!-- </div> -->
  427. </div>
  428. </div>
  429. </div>
  430. <!-- <div style="height: 200px"></div> -->
  431. </div>
  432. </div>
  433. </el-collapse-item>
  434. </el-collapse>
  435. </div>
  436. </el-aside>
  437. </div>
  438. <!-- 瓦斯的添加-->
  439. <el-dialog
  440. v-model="Gassdialog.wsaddshow"
  441. width="400"
  442. align-center
  443. :modal="false"
  444. :close-on-click-modal="false"
  445. :append-to-body="true"
  446. draggable
  447. :fullscreen="false"
  448. :modal-append-to-body="false"
  449. modal-class="summary-dlg"
  450. class="dialog_class bgcolor tianjia"
  451. >
  452. <template #header="{ titleId, titleClass }">
  453. <div class="my-header">
  454. <el-image :src="icon" fit="contain"></el-image>
  455. <h4 :id="titleId" :class="titleClass">{{zhtext}}</h4>
  456. </div>
  457. </template>
  458. <div class="demo-input-suffix firsttitle magintop">
  459. <el-form-item label="巷道名称" :label-width="formLabelWidth5">
  460. <el-input
  461. v-model="selectstr"
  462. disabled
  463. class="w-50 m-2"
  464. placeholder="巷道名称"
  465. />
  466. </el-form-item>
  467. <div class="btn2">
  468. <el-button
  469. type="primary"
  470. @click="
  471. fireclick();
  472. sdialog.dialogVisiblenode = true;
  473. "
  474. >选择巷道</el-button
  475. >
  476. </div>
  477. <div class="btn2" style="padding-left: 10px">
  478. <el-button type="primary" @click="Dclick()">3D巷道选择</el-button>
  479. </div>
  480. </div>
  481. <div class="dialog-footer footer_div l_btn">
  482. <div class="footerbtn flex1">
  483. <div class="borderimg">
  484. <el-button @click="Gassdialog.wsaddshow=false">取消</el-button>
  485. </div>
  486. </div>
  487. <div class="footerbtn flex1">
  488. <div class="borderimg">
  489. <el-button
  490. @click="Gassadd();"
  491. >
  492. 确定
  493. </el-button>
  494. </div>
  495. </div>
  496. </div>
  497. </el-dialog>
  498. <!-- 瓦斯爆炸区域的添加 -->
  499. <el-dialog
  500. v-model="Gassdialog.wsaddarea"
  501. width="400"
  502. align-center
  503. :modal="false"
  504. :close-on-click-modal="false"
  505. :append-to-body="true"
  506. draggable
  507. :fullscreen="false"
  508. :modal-append-to-body="false"
  509. modal-class="summary-dlg"
  510. class="dialog_class bgcolor tianjia"
  511. >
  512. <template #header="{ titleId, titleClass }">
  513. <div class="my-header">
  514. <el-image :src="icon" fit="contain"></el-image>
  515. <h4 :id="titleId" :class="titleClass">{{zhtext}} </h4>
  516. </div>
  517. </template>
  518. <!-- <div class=" btncolor tablefocus">
  519. </div> -->
  520. <div class="demo-input-suffix firsttitle magintop">
  521. <el-form-item label="巷道名称" :label-width="formLabelWidth5">
  522. <el-input
  523. v-model="selectstr"
  524. disabled
  525. class="w-50 m-2"
  526. placeholder="巷道名称"
  527. />
  528. </el-form-item>
  529. <div class="btn2">
  530. <el-button
  531. type="primary"
  532. @click="
  533. fireclick();
  534. sdialog.dialogVisiblenode = true;
  535. "
  536. >选择巷道</el-button
  537. >
  538. </div>
  539. <div class="btn2" style="padding-left: 10px">
  540. <el-button type="primary" @click="Dclick()">3D巷道选择</el-button>
  541. </div>
  542. </div>
  543. <div class="input">
  544. <el-form-item label="开始位置" :label-width="formLabelWidth5">
  545. <el-input-number
  546. v-model="wasi.ssite"
  547. :min="0"
  548. :max="10000"
  549. :step="100"
  550. controls-position="right"
  551. class="w-50 m-2"
  552. placeholder="位置"
  553. />
  554. </el-form-item>
  555. <el-form-item label="结束位置" :label-width="formLabelWidth5">
  556. <el-input-number
  557. v-model="wasi.esite"
  558. :min="0"
  559. :max="10000"
  560. :step="100"
  561. controls-position="right"
  562. class="w-50 m-2"
  563. placeholder="位置"
  564. />
  565. </el-form-item>
  566. </div>
  567. <div class="dialog-footer footer_div l_btn">
  568. <div class="footerbtn flex1">
  569. <div class="borderimg">
  570. <el-button @click="Gassdialog.wsaddarea= false">取消</el-button>
  571. </div>
  572. </div>
  573. <div class="footerbtn flex1">
  574. <div class="borderimg">
  575. <el-button
  576. @click="
  577. wsbalastadd();
  578. "
  579. >
  580. 确定
  581. </el-button>
  582. </div>
  583. </div>
  584. </div>
  585. </el-dialog>
  586. <!-- 积聚的修改 -->
  587. <el-dialog
  588. v-model="Gassdialog.wsaddgather"
  589. width="400"
  590. align-center
  591. :modal="false"
  592. :close-on-click-modal="false"
  593. :append-to-body="true"
  594. draggable
  595. :fullscreen="false"
  596. :modal-append-to-body="false"
  597. modal-class="summary-dlg"
  598. class="dialog_class bgcolor tianjia"
  599. >
  600. <template #header="{ titleId, titleClass }">
  601. <div class="my-header">
  602. <el-image :src="icon" fit="contain"></el-image>
  603. <h4 :id="titleId" :class="titleClass">{{zhtext}} </h4>
  604. </div>
  605. </template>
  606. <el-form-item label="类型" :label-width="formLabelWidth2">
  607. <el-select v-model="wasi.type" placeholder="请选择">
  608. <el-option
  609. v-for="item in wasi.options"
  610. :key="item.id"
  611. :label="item.name"
  612. :value="item.value"
  613. ></el-option>
  614. </el-select>
  615. </el-form-item>
  616. <div class="input">
  617. <el-form-item label="瓦斯浓度" :label-width="formLabelWidth2">
  618. <el-input
  619. v-model="wasi.gasdensity"
  620. class="w-50 m-2"
  621. placeholder="请输入"
  622. oninput ="value=value.replace(/[^0-9.]/g,'')"
  623. />
  624. </el-form-item>
  625. </div>
  626. <div class="dialog-footer footer_div l_btn">
  627. <div class="footerbtn flex1">
  628. <div class="borderimg">
  629. <el-button @click="Gassdialog.wsaddgather= false">取消</el-button>
  630. </div>
  631. </div>
  632. <div class="footerbtn flex1">
  633. <div class="borderimg">
  634. <el-button
  635. @click="
  636. wsgatheradd();
  637. "
  638. >
  639. 确定
  640. </el-button>
  641. </div>
  642. </div>
  643. </div>
  644. </el-dialog>
  645. <!-- 突水灾害点源数据的添加 draggable-->
  646. <el-dialog
  647. v-model="sdialog.dianadddialog"
  648. width="400"
  649. align-center
  650. :modal="false"
  651. :append-to-body="true"
  652. :z-index='1000'
  653. :close-on-click-modal="false"
  654. :fullscreen="false"
  655. :modal-append-to-body="false"
  656. modal-class="summary-dlg"
  657. class="dialog_class bgcolor tianjia"
  658. draggable
  659. >
  660. <template #header="{ titleId, titleClass }">
  661. <div class="my-header">
  662. <el-image :src="icon" fit="contain"></el-image>
  663. <h4 :id="titleId" :class="titleClass">{{ zhtext }}</h4>
  664. </div>
  665. </template>
  666. <div class="demo-input-suffix firsttitle magintop">
  667. <el-form-item label="巷道名称" :label-width="formLabelWidth5">
  668. <el-input
  669. v-model="selectstr"
  670. disabled
  671. class="w-50 m-2"
  672. placeholder="巷道名称"
  673. />
  674. </el-form-item>
  675. <div class="btn2">
  676. <el-button
  677. type="primary"
  678. @click="
  679. fireclick();
  680. sdialog.dialogVisiblenode = true;
  681. "
  682. >选择巷道</el-button
  683. >
  684. </div>
  685. <div class="btn2" style="padding-left: 10px">
  686. <el-button type="primary" @click="Dclick()">3D巷道选择</el-button>
  687. </div>
  688. </div>
  689. <div class="input">
  690. <el-form-item label="位置" :label-width="formLabelWidth5">
  691. <el-input-number
  692. v-model="source.site"
  693. :min="0"
  694. :max="1"
  695. :precision="2"
  696. :step="0.1"
  697. controls-position="right"
  698. class="w-50 m-2"
  699. placeholder="位置"
  700. />
  701. </el-form-item>
  702. </div>
  703. <div class="dialog-footer footer_div l_btn">
  704. <div class="footerbtn flex1">
  705. <div class="borderimg">
  706. <el-button @click="sdialog.dianadddialog = false">取消</el-button>
  707. </div>
  708. </div>
  709. <div class="footerbtn flex1">
  710. <div class="borderimg">
  711. <el-button
  712. @click="
  713. handleEditfire();
  714. sdialog.dianadddialog = false;
  715. "
  716. >
  717. 确定
  718. </el-button>
  719. </div>
  720. </div>
  721. </div>
  722. </el-dialog>
  723. <!-- 选择巷道 -->
  724. <el-dialog
  725. v-model="sdialog.dialogVisiblenode"
  726. width="50%"
  727. :append-to-body="true"
  728. align-center
  729. class="dialog_class bgcolor tianjia asideg asidegbg leftbgimg"
  730. >
  731. <template #header="{ titleId, titleClass }">
  732. <div class="my-header">
  733. <el-image :src="icon" fit="contain"></el-image>
  734. <h4 :id="titleId" :class="titleClass">选择巷道</h4>
  735. </div>
  736. </template>
  737. <div class="demo-input-suffix firsttitle leftbgimg2">
  738. <div class="guand_1">
  739. <el-form-item label="节点选择" :label-width="formLabelWidth5">
  740. <el-input
  741. v-model="searchtaggd"
  742. class="w-50 m-2"
  743. placeholder="巷道名称"
  744. />
  745. </el-form-item>
  746. <div class="asdis_btn">
  747. <div class="flex_a">
  748. <div class="btns" @click="searchgd"><span class="spantext">搜索</span></div>
  749. </div>
  750. </div>
  751. </div>
  752. <el-table
  753. :row-class-name="tableRowClassName"
  754. :max-height="tableHeight"
  755. ref="multipleTableRef"
  756. :data="tableData2"
  757. style="width: 100%"
  758. @select="projectsSelectionSelect"
  759. :header-cell-style="{ background: 'rgba(13, 22, 57, 0.96) ' }"
  760. >
  761. <el-table-column type="selection" width="55" />
  762. <el-table-column property="snId" label="开始节点" />
  763. <el-table-column property="enId" label="结束节点" />
  764. <el-table-column property="id" label="编号" width="70" />
  765. <el-table-column property="name" label="名称" width="70" />
  766. <el-table-column property="sectionType" label="截面类型" width="120" />
  767. <el-table-column property="roughCoe" label="粗糙系数" />
  768. <el-table-column property="sectionPara1" label="截面参数1" width="90" />
  769. <el-table-column property="sectionPara2" label="截面参数2" width="90" />
  770. <el-table-column property="sectionPara3" label="截面参数3" width="90" />
  771. <el-table-column property="sectionPara4" label="截面参数4" width="90" />
  772. <el-table-column property="sectionPara5" label="截面参数5" width="90" />
  773. </el-table>
  774. <div class="demo-pagination-block" style="margin-top: 20px">
  775. <el-pagination
  776. v-model:current-page="currentPage4"
  777. v-model:page-size="pageSize4"
  778. small
  779. background
  780. layout="prev, total,pager, next, jumpe,"
  781. :total="parseInt(total)"
  782. class="mt-4"
  783. @size-change="handleSizeChange"
  784. @current-change="handleCurrentChange"
  785. />
  786. </div>
  787. <div class="dialog-footer footer_div l_btn">
  788. <div class="footerbtn flex1">
  789. <div class="borderimg">
  790. <el-button @click="sdialog.dialogVisiblenode = false">取消</el-button>
  791. </div>
  792. </div>
  793. <div class="footerbtn flex1">
  794. <div class="borderimg">
  795. <el-button
  796. @click="
  797. queding();
  798. sdialog.dialogVisiblenode = false;
  799. "
  800. >
  801. 确定
  802. </el-button>
  803. </div>
  804. </div>
  805. </div>
  806. </div>
  807. </el-dialog>
  808. <!-- 灾害火灾源检测数据的添加-->
  809. <el-dialog
  810. v-model="sdialog.adddialog"
  811. width="400"
  812. align-center
  813. :modal="false"
  814. :append-to-body="true"
  815. :close-on-click-modal="false"
  816. draggable
  817. :fullscreen="false"
  818. :modal-append-to-body="false"
  819. modal-class="summary-dlg"
  820. class="dialog_class bgcolor tianjia"
  821. >
  822. <template #header="{ titleId, titleClass }">
  823. <div class="my-header">
  824. <el-image :src="icon" fit="contain"></el-image>
  825. <h4 :id="titleId" :class="titleClass">{{ zhtext }}</h4>
  826. </div>
  827. </template>
  828. <div>
  829. <el-form>
  830. <el-form-item label="时间/s" :label-width="formLabelWidth6">
  831. <el-input
  832. v-model.Number="Disastersource.timeline"
  833. class="w-50 m-2"
  834. placeholder="请输入时间秒"
  835. maxlength="12"
  836. step="0.01"
  837. oninput ="value=value.replace(/[^0-9]/g,'')"
  838. />
  839. </el-form-item>
  840. <el-form-item label="温度℃" :label-width="formLabelWidth6">
  841. <el-input
  842. v-model.Number="Disastersource.val1"
  843. class="w-50 m-2"
  844. placeholder="请输入"
  845. maxlength="10"
  846. step="0.01"
  847. oninput ="value=value.replace(/[^0-9.]/g,'')"
  848. />
  849. </el-form-item>
  850. <el-form-item label="二氧化碳" :label-width="formLabelWidth6">
  851. <el-input
  852. v-model="Disastersource.val2"
  853. class="w-50 m-2"
  854. placeholder="请输入"
  855. maxlength="10"
  856. step="0.01"
  857. oninput ="value=value.replace(/[^0-9.]/g,'')"
  858. />
  859. </el-form-item>
  860. <el-form-item label="二氧化硫" :label-width="formLabelWidth6">
  861. <el-input
  862. v-model.Number="Disastersource.val3"
  863. class="w-50 m-2"
  864. placeholder="请输入"
  865. maxlength="10"
  866. oninput ="value=value.replace(/[^0-9.]/g,'')"
  867. />
  868. </el-form-item>
  869. </el-form>
  870. </div>
  871. <div class="dialog-footer footer_div l_btn">
  872. <div class="footerbtn flex1">
  873. <div class="borderimg">
  874. <el-button @click="sdialog.adddialog = false">取消</el-button>
  875. </div>
  876. </div>
  877. <div class="footerbtn flex1">
  878. <div class="borderimg">
  879. <el-button
  880. @click="
  881. addjiancf();
  882. sdialog.adddialog = false;
  883. "
  884. >
  885. 确定
  886. </el-button>
  887. </div>
  888. </div>
  889. </div>
  890. </el-dialog>
  891. <!-- 灾害源突水检测数据的添加-->
  892. <el-dialog
  893. v-model="sdialog.adddwater"
  894. :append-to-body="true"
  895. width="400"
  896. class="dialog_class bgcolor tianjia"
  897. >
  898. <template #header="{ titleId, titleClass }">
  899. <div class="my-header">
  900. <el-image :src="icon" fit="contain"></el-image>
  901. <h4 :id="titleId" :class="titleClass">添加</h4>
  902. </div>
  903. </template>
  904. <div>
  905. <el-form>
  906. <el-form-item label="时间/s" :label-width="formLabelWidth6">
  907. <el-input
  908. v-model="Disastersource.timeline"
  909. class="w-50 m-2"
  910. placeholder="请输入时间秒"
  911. oninput ="value=value.replace(/^|[^0-9]/g,'')"
  912. />
  913. </el-form-item>
  914. <el-form-item label="突水量(m³/s)" :label-width="formLabelWidth6">
  915. <el-input
  916. v-model="Disastersource.val1"
  917. class="w-50 m-2"
  918. placeholder="请输入"
  919. oninput ="value=value.replace(/[^0-9.]/g,'')"
  920. />
  921. </el-form-item>
  922. </el-form>
  923. </div>
  924. <div class="dialog-footer footer_div l_btn">
  925. <div class="footerbtn flex1">
  926. <div class="borderimg">
  927. <el-button @click="sdialog.adddwater = false">取消</el-button>
  928. </div>
  929. </div>
  930. <div class="footerbtn flex1">
  931. <div class="borderimg">
  932. <el-button
  933. @click="
  934. addjiancf();
  935. sdialog.adddwater = false;
  936. "
  937. >
  938. 确定
  939. </el-button>
  940. </div>
  941. </div>
  942. </div>
  943. </el-dialog>
  944. <!-- 删除 -->
  945. <el-dialog
  946. v-model="sdialog.dialogsgdelect"
  947. :append-to-body="true"
  948. width="400"
  949. class="dialog_class bgcolor tianjia"
  950. >
  951. <template #header="{ titleId, titleClass }">
  952. <div class="my-header">
  953. <el-image :src="icon" fit="contain"></el-image>
  954. <h4 :id="titleId" :class="titleClass">删除框</h4>
  955. </div>
  956. </template>
  957. <h4 class="delecttitle">
  958. 是否确认删除 <span class="spanclad">{{ zqname }}</span>
  959. </h4>
  960. <div class="dialog-footer footer_div l_btn">
  961. <div class="footerbtn flex1">
  962. <div class="borderimg">
  963. <el-button @click="sdialog.dialogsgdelect = false">取消</el-button>
  964. </div>
  965. </div>
  966. <div class="footerbtn flex1">
  967. <div class="borderimg">
  968. <el-button
  969. @click="fundeledata();
  970. sdialog.dialogsgdelect = false;
  971. "
  972. >
  973. 确定
  974. </el-button>
  975. </div>
  976. </div>
  977. </div>
  978. </el-dialog>
  979. <!-- 瓦斯的删除 -->
  980. <el-dialog
  981. v-model="Gassdialog.wsdelete"
  982. :append-to-body="true"
  983. width="400"
  984. class="dialog_class bgcolor tianjia"
  985. >
  986. <template #header="{ titleId, titleClass }">
  987. <div class="my-header">
  988. <el-image :src="icon" fit="contain"></el-image>
  989. <h4 :id="titleId" :class="titleClass">删除框</h4>
  990. </div>
  991. </template>
  992. <h4 class="delecttitle">
  993. 是否确认删除 <span class="spanclad">{{ zqname }}</span>
  994. </h4>
  995. <div class="dialog-footer footer_div l_btn">
  996. <div class="footerbtn flex1">
  997. <div class="borderimg">
  998. <el-button @click="Gassdialog.wsdelete = false">取消</el-button>
  999. </div>
  1000. </div>
  1001. <div class="footerbtn flex1">
  1002. <div class="borderimg">
  1003. <el-button
  1004. @click="wsdeledata();
  1005. Gassdialog.wsdelete = false;
  1006. "
  1007. >
  1008. 确定
  1009. </el-button>
  1010. </div>
  1011. </div>
  1012. </div>
  1013. </el-dialog>
  1014. </div>
  1015. <selfdialogs ref="dialogtrue" @Dtext="Dtext"></selfdialogs>
  1016. <!-- <filesload
  1017. ref="filesload"
  1018. :fileurls="fileurls"
  1019. @fileLoadeState="fileLoadeState($event)"
  1020. ></filesload> -->
  1021. </template>
  1022. <script setup>
  1023. import { computed, ref, onMounted, reactive, toRef } from "vue";
  1024. import { request, uploadFile } from "@/utils/request";
  1025. import icon from "@/assets/img/icon.png";
  1026. import icon1 from "@/assets/img/Group27.png";
  1027. import closeimg from "@/assets/img/colse.png";
  1028. import {
  1029. ElMessage,
  1030. ElButton,
  1031. ElDialog,
  1032. ElSelect,
  1033. DROPDOWN_COLLECTION_INJECTION_KEY,
  1034. } from "element-plus";
  1035. import { Calendar, Search } from "@element-plus/icons-vue";
  1036. import InfoBoundary from "./InfoBoundary.vue";
  1037. import { c } from "@kitware/vtk.js/macros2";
  1038. import { vtkmodel } from "@/control/vtkModel.js";;
  1039. import selfdialogs from "./SetPipe.vue";
  1040. import vueUploader from "./fileuploads.vue";
  1041. import { NULL } from "sass";
  1042. // import filesload from "./filesloads.vue";
  1043. let isActive=ref(0)
  1044. const changeClass= (i)=> {
  1045. isActive.value = i;
  1046. }
  1047. const changeModel= ()=> {
  1048. vtkmodel.clearJgAddMode();
  1049. vtkmodel.renderWindow.render();
  1050. }
  1051. let styX=ref({left: ""})
  1052. let vueupshow=ref(false);
  1053. const gfx=ref();
  1054. const inp=ref();
  1055. let gid=ref("");
  1056. let wsid=ref("");
  1057. let gfid=ref("");
  1058. let bfid=ref("");
  1059. let tableDataws=ref([]);
  1060. let currentrow = ref(false);
  1061. let currentrow1 = ref(false);
  1062. let currentrow2 = ref(false);
  1063. let formLabelWidth2=ref(80);
  1064. let wasi=ref({
  1065. ssite:0.0,
  1066. esite:0.0,
  1067. gbid:Number,
  1068. pid:Number,
  1069. gdname:'',
  1070. pid:Number,
  1071. gid:Number,
  1072. blastdata:{},
  1073. gatherdata:{},
  1074. options:[{ name:"空白区" ,value:'0'},{ name:"积聚区" ,value:'1'},{ name:"点火区" ,value:'2'}],
  1075. type:'0',
  1076. gasdensity:0,
  1077. })
  1078. let gtableData=ref([]);
  1079. let gjtableData=ref([]);
  1080. const props = defineProps({
  1081. classradio: {
  1082. type: String,
  1083. },
  1084. // aid: {
  1085. // type: String,
  1086. // },
  1087. });
  1088. let fileurls=ref([]);
  1089. let zaihai = ref({
  1090. addEied: "",
  1091. });
  1092. let gfname=ref("");
  1093. let bfname=ref("");
  1094. let dialogtrue = ref();
  1095. let zhtext = ref("");
  1096. const Gassdialog=ref({
  1097. wsaddflie:false,
  1098. wsaddflie:false,
  1099. wsaddarea:false,
  1100. wsdelete:false,
  1101. blast:false,
  1102. gather:false,
  1103. wsaddgather:false,
  1104. })
  1105. const sdialog = ref({
  1106. adddialog: false,
  1107. dialogsgdelect: false,
  1108. dianadddialog: false,
  1109. dialogVisiblenode: false,
  1110. isDisasterfire: false,
  1111. isDisasterwter: false,
  1112. adddwater: false,
  1113. });
  1114. let selectstr = ref("");
  1115. const currentPage4 = ref(1);
  1116. const pageSize4 = ref(5);
  1117. const tableDatawat = ref([]);
  1118. const tableDatafir = ref([]);
  1119. const dialogVisible = ref(true);
  1120. const sour = ref({
  1121. collfire: false,
  1122. collwater: false,
  1123. Gass:false,
  1124. });
  1125. let jiancobj = ref({});
  1126. let firepid = ref("");
  1127. let svid = ref("");
  1128. let firesid = ref("");
  1129. let searchtaggd = ref("");
  1130. let total = ref(1);
  1131. let gdadd = ref("0");
  1132. let jcadd = ref();
  1133. let tableHeight = ref(150);
  1134. const multipleTableRef = ref();
  1135. const multipleSelection = ref([]);
  1136. const formLabelWidth5 = ref(77);
  1137. const formLabelWidth6 = ref(120);
  1138. let source = reactive({ pname: "", site: 0.1 });
  1139. let Disastersource = ref({
  1140. svid: 0,
  1141. timeline:Number,
  1142. val1:Number,
  1143. val2: Number,
  1144. val3:Number,
  1145. val4:Number,
  1146. });
  1147. let tableobj = ref({});
  1148. const tableData2 = ref([]);
  1149. let aid = ref();
  1150. let biaoid = ref();
  1151. let coolactiveName1 = ref(["1", "2"]);
  1152. let zqname = ref("");
  1153. const tableRowClassName = ({ row, rowIndex }) => {
  1154. if (rowIndex % 2 != 0) {
  1155. return "evenRow";
  1156. }
  1157. return "oddRow";
  1158. };
  1159. const tableData = ref([]);
  1160. const tableDatay = ref([]);
  1161. const tableData4 = ref([]);
  1162. const accident3 = (key) => {
  1163. console.log(key);
  1164. if (key == "1"||key == "2"||key == "3") {
  1165. console.log(props.classradio )
  1166. if (props.classradio == "Fire") {
  1167. sour.value.collfire = true;
  1168. sour.value.collwater = false;
  1169. sour.value.Gass = false;
  1170. } else if (props.classradio == "Water") {
  1171. sour.value.collwater = true;
  1172. sour.value.collfire = false;
  1173. sour.value.Gass = false;
  1174. console.log(sour.value.collwater );
  1175. console.log(222333)
  1176. }else if(props.classradio == "Gass"){
  1177. sour.value.collwater = false;
  1178. sour.value.collfire = false;
  1179. sour.value.Gass = true;
  1180. }
  1181. } else {
  1182. sour.value.collwater = false;
  1183. sour.value.collfire = false;
  1184. sour.value.Gass = false;
  1185. }
  1186. };
  1187. // 3D数据显示
  1188. const Dtext=(val)=>{
  1189. console.log(val);
  1190. selectstr.value=val.name;
  1191. firepid.value=val.id;
  1192. }
  1193. // 3D弹屏
  1194. const Dclick = () => {
  1195. dialogtrue.value.dialoglog = true;
  1196. vtkmodel.clearJgAddMode() ;
  1197. vtkmodel.selectPipes();
  1198. dialogtrue.value.jgSelect();
  1199. console.log(dialogtrue.value.dialoglog);
  1200. };
  1201. //灾情源查询列表
  1202. const handledisaster = (aidval) => {
  1203. aid.value = aidval;
  1204. const params = {
  1205. transCode: "D00005",
  1206. aid: aid.value,
  1207. };
  1208. request(params)
  1209. .then((res) => {
  1210. if (props.classradio == "Fire") {
  1211. tableDatay.value = res.rows;
  1212. } else {
  1213. tableDatawat.value = res.rows;
  1214. }
  1215. })
  1216. .catch((err) => {
  1217. ElMessage.error(err.returnMsg);
  1218. });
  1219. };
  1220. // 灾情源添加
  1221. const fireadd = () => {
  1222. currentrow.value = false;
  1223. if(firepid.value==null||firepid.value==""){
  1224. ElMessage.error("巷道不能为空")
  1225. }else{
  1226. const params = {
  1227. transCode: "D00004",
  1228. pid: firepid.value,
  1229. aid: aid.value,
  1230. stype: props.classradio,
  1231. site: source.site,
  1232. };
  1233. request(params)
  1234. .then((res) => {
  1235. ElMessage({
  1236. message: res.returnMsg,
  1237. type: "success",
  1238. });
  1239. handledisaster(aid.value);
  1240. })
  1241. .catch((err) => {
  1242. ElMessage.error(err.returnMsg);
  1243. });
  1244. }
  1245. };
  1246. //下拉跳转
  1247. const handleChangecollapse = (val) => {
  1248. coolactiveName1.value=val;
  1249. }
  1250. //添加保存
  1251. const handleEditfire = () => {
  1252. if (gdadd.value == "1") {
  1253. fireadd();
  1254. sdialog.value.dianadddialog = false;
  1255. } else if (gdadd.value == "2") {
  1256. if (props.classradio == "Fire") {
  1257. sdialog.value.dianadddialog = false;
  1258. }
  1259. } else if ((gdadd.value = "3")) {
  1260. xiugaiapi();
  1261. // waaddshow.value=false;
  1262. } else {
  1263. }
  1264. //handledisaster(aid.value);
  1265. };
  1266. //灾情源删除
  1267. const handleDelete = (val) => {
  1268. zqname.value = val.pname;
  1269. tableobj.value=val;
  1270. currentrow.value=true;
  1271. shanchu.value = val;
  1272. sdialog.dialogsgdelect = true;
  1273. firesid.value = val.sid;
  1274. // }
  1275. };
  1276. const shanchu = (val) => {
  1277. biaoid.value = val;
  1278. if(val=='1'){
  1279. if (zqname.value == "") {
  1280. ElMessage.error("你还没有选中删除的项目")
  1281. } else {
  1282. sdialog.value.dialogsgdelect = true;
  1283. }
  1284. }else {
  1285. sdialog.value.dialogsgdelect = true;
  1286. }
  1287. };
  1288. const fundeledata = () => {
  1289. if (biaoid.value == "1") {
  1290. fundeledata2();
  1291. } else{
  1292. fundeledata3();
  1293. }
  1294. };
  1295. //
  1296. const fundeledata2 = () => {
  1297. const params = {
  1298. transCode: "D000011",
  1299. sid: firesid.value,
  1300. };
  1301. console.log(params);
  1302. request(params)
  1303. .then((res) => {
  1304. ElMessage({
  1305. message: "删除成功",
  1306. type: "success",
  1307. });
  1308. if(props.classradio == "Fire"){
  1309. sdialog.value.isDisasterfire=false;
  1310. }else{
  1311. sdialog.value.disDisasterwter=false;
  1312. }
  1313. handledisaster(aid.value);
  1314. })
  1315. .catch((err) => {
  1316. ElMessage.error(err.returnMsg);
  1317. });
  1318. };
  1319. // 巷道搜索
  1320. function searchgd() {
  1321. pipelinedata(searchtaggd.value);
  1322. }
  1323. // 分页查询
  1324. function handleSizeChange(val) {}
  1325. const handleCurrentChange = (val) => {
  1326. pipelinedata(searchtaggd.value);
  1327. };
  1328. //新建fire
  1329. const newtable = (e) => {
  1330. var e = e || window.Event;
  1331. styX.value.left = e.clientX + "px";
  1332. console.log(styX.value.left);
  1333. currentrow.value=false;
  1334. selectstr.value = "";
  1335. firepid.value = "";
  1336. source.site = 0;
  1337. newtable.value = "1";
  1338. gdadd.value = "1";
  1339. zhtext.value = "添加";
  1340. };
  1341. // 修改
  1342. const xiugaitable = () => {
  1343. gdadd.value = "3";
  1344. zhtext.value = "修改";
  1345. if (JSON.stringify(tableobj.value) == "{}") {
  1346. ElMessage.error("你还没有选中修改的项目");
  1347. } else {
  1348. console.log(tableobj.value)
  1349. sdialog.value.dianadddialog = true;
  1350. aid.value = tableobj.value.aid;
  1351. firepid.value = tableobj.value.pid;
  1352. source.site = tableobj.value.site;
  1353. selectstr.value = tableobj.value.pname;
  1354. }
  1355. };
  1356. // 修改接口
  1357. const xiugaiapi = () => {
  1358. const params = {
  1359. transCode: "D000010",
  1360. pid: firepid.value,
  1361. site: source.site,
  1362. sid: tableobj.value.sid,
  1363. };
  1364. request(params)
  1365. .then((res) => {
  1366. handledisaster(aid.value);
  1367. ElMessage({
  1368. message: res.returnMsg,
  1369. type: "success",
  1370. });
  1371. })
  1372. .catch((err) => {});
  1373. };
  1374. // 选择
  1375. const fireclick = () => {
  1376. searchtaggd.value='';
  1377. pipelinedata("");
  1378. };
  1379. const queding = () => {
  1380. selectfun();
  1381. };
  1382. const selectfun = () => {
  1383. selectstr.value = "";
  1384. currentPage4.value = 1;
  1385. console.log();
  1386. if (multipleSelection.value.length != 0) {
  1387. firepid.value = multipleSelection.value[0].id;
  1388. selectstr.value = multipleSelection.value[0].name;
  1389. } else {
  1390. // selectstr.value='';
  1391. }
  1392. };
  1393. const projectsSelectionSelect = (selection, row) => {
  1394. if (selection.length > 1) {
  1395. multipleTableRef.value.clearSelection();
  1396. multipleTableRef.value.toggleRowSelection(row, true);
  1397. multipleSelection.value = selection[1];
  1398. return;
  1399. }
  1400. if (selection.length == 1) {
  1401. multipleSelection.value = selection;
  1402. } else if (selection.length == 0) {
  1403. }
  1404. // console.log(row)
  1405. };
  1406. //巷道数据查询
  1407. const pipelinedata = (searchtag) => {
  1408. const params = {
  1409. transCode: "D00001",
  1410. count: pageSize4.value,
  1411. page: currentPage4.value,
  1412. searchtag: searchtag,
  1413. };
  1414. request(params)
  1415. .then((res) => {
  1416. tableData2.value = res.rows;
  1417. total.value = res.total;
  1418. })
  1419. .catch((err) => {});
  1420. };
  1421. // 灾源检测
  1422. const handledetection = (index, row) => {
  1423. sdialog.value.isDisasterfire = true;
  1424. firesid.value = row.sid;
  1425. getinquire();
  1426. };
  1427. //突水灾源检测
  1428. const handledetection2 = (index, row) => {
  1429. sdialog.value.disDisasterwter = true;
  1430. firesid.value = row.sid;
  1431. getinquire();
  1432. };
  1433. // 灾源检测查询
  1434. const getinquire = () => {
  1435. const params = {
  1436. transCode: "D00007",
  1437. sid: firesid.value,
  1438. };
  1439. request(params)
  1440. .then((res) => {
  1441. console.log(res.rows);
  1442. if (props.classradio == "Fire") {
  1443. tableDatafir.value = res.rows;
  1444. } else {
  1445. tableData4.value = res.rows;
  1446. }
  1447. })
  1448. .catch((err) => {});
  1449. };
  1450. // const Disasterclick=(index,row)=>{
  1451. // addjiancf();
  1452. // }
  1453. // 灾源火灾检测添加
  1454. const addjiancf = () => {
  1455. if (zaihai.value.addEied == "a") {
  1456. const params = {
  1457. transCode: "D00006",
  1458. sid: firesid.value,
  1459. timeline: Disastersource.value.timeline,
  1460. val1: Disastersource.value.val1,
  1461. val2: Disastersource.value.val2,
  1462. val3: Disastersource.value.val3,
  1463. val4: Disastersource.value.val4,
  1464. };
  1465. request(params)
  1466. .then((res) => {
  1467. ElMessage({
  1468. message: res.returnMsg,
  1469. type: "success",
  1470. });
  1471. getinquire();
  1472. })
  1473. .catch((err) => {
  1474. ElMessage.error(err.returnMsg);
  1475. });
  1476. } else {
  1477. zaiyuxiugaiapi();
  1478. }
  1479. };
  1480. //灾情源添加清空
  1481. const firinit = () => {
  1482. zaihai.value.addEied = "a";
  1483. Disastersource.value.timeline = "";
  1484. Disastersource.value.val1 = "";
  1485. Disastersource.value.val2 = "";
  1486. Disastersource.value.val3 = "";
  1487. Disastersource.value.val4 = "";
  1488. zhtext.value = "添加";
  1489. };
  1490. //瓦斯爆炸查询
  1491. const Gassgetdata=(aidval)=>{
  1492. aid.value=aidval;
  1493. const params = {
  1494. transCode: "D10020",
  1495. aid:aid.value
  1496. };
  1497. request(params)
  1498. .then((res) => {
  1499. tableDataws.value=res.rows;
  1500. })
  1501. .catch((err) => {
  1502. ElMessage.error(err.returnMsg);
  1503. });
  1504. }
  1505. // 瓦斯爆炸的添加
  1506. const wanewadd=()=>{
  1507. Gassdialog.value.wsaddshow= true;
  1508. selectstr.value = "";
  1509. firepid.value = "";
  1510. zhtext.value = "添加";
  1511. // currentrow.value=false;
  1512. // tableobj.value={};
  1513. }
  1514. const Gassadd=()=>{
  1515. Gassdialog.value.wsaddshow=false;
  1516. console.log(firepid.value);
  1517. const params = {
  1518. transCode: "D10021",
  1519. gid:gid.value,
  1520. pid:firepid.value,
  1521. aid:aid.value
  1522. };
  1523. console.log(params);
  1524. request(params)
  1525. .then((res) => {
  1526. ElMessage({
  1527. message: res.returnMsg,
  1528. type: "success",
  1529. });
  1530. Gassdialog.value.wsaddflie= false;
  1531. Gassgetdata(aid.value);
  1532. })
  1533. .catch((err) => {
  1534. ElMessage.error(err.returnMsg);
  1535. });
  1536. }
  1537. // 瓦斯选中一行
  1538. const handlews=(row)=>{
  1539. console.log(row);
  1540. currentrow.value=true;
  1541. tableobj.value=row;
  1542. }
  1543. // 瓦斯的修改
  1544. const wsxiugai= ()=>{
  1545. if (JSON.stringify(tableobj.value) == "{}") {
  1546. ElMessage.error("你还没有选中修改的项目");
  1547. } else {
  1548. zhtext.value = "修改";
  1549. Gassdialog.value.wsaddshow= true;
  1550. // selectstr.value = "";
  1551. // firepid.value = "";
  1552. }
  1553. }
  1554. // 瓦斯删除
  1555. const wsdelete=()=>{
  1556. wsid.value='0'
  1557. if (JSON.stringify(tableobj.value) == "{}") {
  1558. ElMessage.error("你还没有选中删除的项目")
  1559. } else {
  1560. zqname.value= tableobj.value.bfname+"-"+ tableobj.value.gfname;
  1561. Gassdialog.value.wsdelete=true;
  1562. }
  1563. }
  1564. const wsdeledata=()=>{
  1565. console.log(wsid.value)
  1566. console.log(1111)
  1567. if(wsid.value=='0'){
  1568. wsdelete2();
  1569. }if(wsid.value=='1'){
  1570. wsblastdelete1();
  1571. }
  1572. }
  1573. // 瓦斯删除
  1574. const wsdelete2=()=>{
  1575. const params = {
  1576. transCode: "D10022",
  1577. gid:tableobj.value.gid
  1578. };
  1579. request(params)
  1580. .then((res) => {
  1581. ElMessage({
  1582. message: res.returnMsg,
  1583. type: "success",
  1584. });
  1585. Gassdialog.value.wsdelete=false;
  1586. Gassdialog.value.blast=false;
  1587. Gassdialog.value.gather=false;
  1588. Gassgetdata(aid.value);
  1589. })
  1590. .catch((err) => {
  1591. ElMessage.error(err.returnMsg);
  1592. });
  1593. }
  1594. //瓦斯的查看
  1595. const handlook=(index,data)=>{
  1596. console.log(data);
  1597. Gassdialog.value.blast =true;
  1598. Gassdialog.value.gather =true;
  1599. wasi.value.gid=data.gid;
  1600. wsblastget();
  1601. gatherget();
  1602. }
  1603. // // 瓦斯爆炸区域查询
  1604. const wsblastget=()=>{
  1605. const params = {
  1606. transCode: "D10023",
  1607. gid: wasi.value.gid,
  1608. };
  1609. request(params)
  1610. .then((res) => {
  1611. gtableData.value=res.rows;
  1612. })
  1613. .catch((err) => {
  1614. ElMessage.error(err.returnMsg);
  1615. });
  1616. }
  1617. // 瓦斯爆炸区域的添加
  1618. const wsaddblast=()=>{
  1619. zhtext.value='添加';
  1620. wasi.value.ssite=0.0;
  1621. wasi.value.esite=0.0;
  1622. wasi.value.gbid=0;
  1623. wasi.value.pid='';
  1624. selectstr.value = "";
  1625. firepid.value = "";
  1626. Gassdialog.value.wsaddarea= true;
  1627. currentrow1.value=false;
  1628. wasi.value.blastdata={};
  1629. }
  1630. const wsbalastadd=()=>{
  1631. wasi.value.pid=firepid.value;
  1632. if( wasi.value.ssite<wasi.value.esite){
  1633. const params = {
  1634. transCode: "D10024",
  1635. gid: wasi.value.gid,
  1636. pid: wasi.value.pid,
  1637. ssite:wasi.value.ssite,
  1638. esite: wasi.value.esite,
  1639. gbid:wasi.value.gbid,
  1640. };
  1641. request(params)
  1642. .then((res) => {
  1643. ElMessage({
  1644. message: res.returnMsg,
  1645. type: "success",
  1646. });
  1647. Gassdialog.value.wsaddarea= false;
  1648. wsblastget();
  1649. })
  1650. .catch((err) => {
  1651. ElMessage.error(err.returnMsg);
  1652. });
  1653. }else{
  1654. ElMessage.error("结束位置大于开始位置");
  1655. }
  1656. }
  1657. // 爆炸区域的修改
  1658. const wsxiugai2=()=>{
  1659. if (JSON.stringify(wasi.value.blastdata) == "{}") {
  1660. ElMessage.error("你还没有选中修改的项目");
  1661. }else{
  1662. zhtext.value='修改';
  1663. wasi.value.ssite=wasi.value.blastdata.ssite;
  1664. wasi.value.esite=wasi.value.blastdata.esite;
  1665. wasi.value.gbid=wasi.value.blastdata.gbid;
  1666. wasi.value.pid=wasi.value.blastdata.pid;
  1667. selectstr.value =wasi.value.blastdata.pname;
  1668. firepid.value =wasi.value.blastdata.pid;
  1669. Gassdialog.value.wsaddarea= true;
  1670. }
  1671. }
  1672. const handleblastxg=(data)=>{
  1673. wasi.value.blastdata=data;
  1674. currentrow1.value=true;
  1675. }
  1676. // 爆炸区域删除
  1677. const wsblastdelete=()=>{
  1678. if (JSON.stringify(wasi.value.blastdata) == "{}") {
  1679. ElMessage.error("你还没有选中修改的项目");
  1680. }else{
  1681. wsid.value='1';
  1682. zqname.value= wasi.value.blastdata.pname;
  1683. Gassdialog.value.wsdelete=true;
  1684. }
  1685. }
  1686. const wsblastdelete1=()=>{
  1687. const params = {
  1688. transCode: "D10025",
  1689. gbid:wasi.value.blastdata.gbid,
  1690. };
  1691. request(params)
  1692. .then((res) => {
  1693. ElMessage({
  1694. message:"删除成功",
  1695. type: "success",
  1696. });
  1697. Gassdialog.value.wsaddarea= false;
  1698. wsblastget();
  1699. })
  1700. .catch((err) => {
  1701. ElMessage.error(err.returnMsg);
  1702. })
  1703. }
  1704. // 积聚
  1705. const gatherget = () => {
  1706. const params = {
  1707. transCode: "D10026",
  1708. gid:wasi.value.gid,
  1709. };
  1710. request(params)
  1711. .then((res) => {
  1712. gjtableData.value=res.rows;
  1713. })
  1714. .catch((err) => {
  1715. ElMessage.error(err.returnMsg);
  1716. })
  1717. }
  1718. // 积聚的选中
  1719. const handlegather = (data) => {
  1720. console.log(data);
  1721. currentrow2.value=true;
  1722. wasi.value.gatherdata=data;
  1723. }
  1724. // 积聚的修改
  1725. const gatheruxiugai = () => {
  1726. zhtext.value = "修改";
  1727. if (JSON.stringify(wasi.value.gatherdata) == "{}") {
  1728. ElMessage.error("你还没有选中修改的项目");
  1729. } else {
  1730. Gassdialog.value.wsaddgather=true;
  1731. wasi.value.gasdensity=wasi.value.gatherdata.gasdensity;
  1732. wasi.value.type=wasi.value.gatherdata.type;
  1733. }
  1734. }
  1735. //
  1736. const wsgatheradd=()=>{
  1737. const params = {
  1738. transCode: "D10027",
  1739. type:wasi.value.type,
  1740. gasdensity:wasi.value.gasdensity,
  1741. ggid:wasi.value.gatherdata.ggid,
  1742. };
  1743. request(params)
  1744. .then((res) => {
  1745. ElMessage({
  1746. message: res.returnMsg,
  1747. type: "success",
  1748. });
  1749. Gassdialog.value.wsaddgather=false;
  1750. gatherget()
  1751. })
  1752. .catch((err) => {
  1753. ElMessage.error(err.returnMsg);
  1754. })
  1755. }
  1756. // 灾害源检测的修改
  1757. const zaiyuxiugai = () => {
  1758. zaihai.value.addEied = "x";
  1759. zhtext.value = "修改";
  1760. if (JSON.stringify(jiancobj.value) == "{}") {
  1761. ElMessage.error("你还没有选中修改的项目");
  1762. } else {
  1763. if (props.classradio == "Fire") {
  1764. sdialog.value.adddialog = true;
  1765. } else {
  1766. sdialog.value.adddwater = true;
  1767. }
  1768. Disastersource.value.timeline = jiancobj.value.timeline;
  1769. Disastersource.value.val1 = jiancobj.value.val1;
  1770. Disastersource.value.val2 = jiancobj.value.val2;
  1771. Disastersource.value.val3 = jiancobj.value.val3;
  1772. Disastersource.value.val4 = jiancobj.value.val4;
  1773. }
  1774. };
  1775. // 灾害源的检测表修改接口
  1776. const zaiyuxiugaiapi = () => {
  1777. const params = {
  1778. transCode: "D000012",
  1779. svid: jiancobj.value.svid,
  1780. timeline: Disastersource.value.timeline,
  1781. val1: Disastersource.value.val1,
  1782. val2: Disastersource.value.val2,
  1783. val3: Disastersource.value.val3,
  1784. val4: Disastersource.value.val4,
  1785. };
  1786. request(params)
  1787. .then((res) => {
  1788. ElMessage({
  1789. message: res.returnMsg,
  1790. type: "success",
  1791. });
  1792. getinquire();
  1793. })
  1794. .catch((err) => {
  1795. ElMessage.error(err.returnMsg);
  1796. });
  1797. };
  1798. // 灾源突水检测添加
  1799. //灾情检测删除
  1800. const handleDelete2 = (val) => {
  1801. currentrow1.value=true;
  1802. console.log(val);
  1803. jiancobj.value = val;
  1804. firesid.value = val.sid;
  1805. zqname.value = "检测表的一条信息";
  1806. svid.value = val.svid;
  1807. };
  1808. const handleDelete3 = (val) => {
  1809. currentrow1.value=true;
  1810. jiancobj.value = val;
  1811. firesid.value = val.sid;
  1812. zqname.value = "检测表的一条信息";
  1813. svid.value = val.svid;
  1814. };
  1815. const fundeledata3 = () => {
  1816. const params = {
  1817. transCode: "D000013",
  1818. svid: svid.value,
  1819. };
  1820. request(params)
  1821. .then((res) => {
  1822. //console.log(res);
  1823. ElMessage({
  1824. message: "删除成功",
  1825. type: "success",
  1826. });
  1827. getinquire();
  1828. })
  1829. .catch((err) => {
  1830. ElMessage.error(err.returnMsg);
  1831. });
  1832. };
  1833. const runstatezt=(res)=>{
  1834. // this.disabledok=res;
  1835. }
  1836. //load状态回调
  1837. const fileLoadeState=(files)=> {
  1838. console.log(files);
  1839. files.forEach((file) => {
  1840. this.loadObjs.forEach((obj) => {
  1841. if (obj.type == 2) {
  1842. if (obj.filename === file.name) {
  1843. obj.percentage = file.percentage;
  1844. }
  1845. }
  1846. if (obj.type == 1) {
  1847. // obj.message=file.message;
  1848. }
  1849. });
  1850. });
  1851. }
  1852. onMounted(() => {
  1853. });
  1854. defineExpose({ sour, accident3, handledisaster,changeModel,Gassgetdata});
  1855. </script>
  1856. <style>
  1857. @import '../../../src/style/style.css';
  1858. </style>