InfoDisaster.vue 39 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228
  1. <template>
  2. <!-- 所有弹出框 灾情源设置-->
  3. <div class="l_Dialog bbb" >
  4. <!--火灾左侧栏-->
  5. <div class="common-layout" style="margin: 0;" v-show="sour.collfire">
  6. <el-aside width="354px" class="L_aside L_aside1 asideg asidegbg leftbgimg1" >
  7. <div class="demo-collapse">
  8. <el-collapse v-model="coolactiveName1" accordion >
  9. <el-collapse-item name="1">
  10. <template #title>
  11. <el-icon class="iconimg Frame2" fit="contain" ></el-icon>
  12. 火灾<el-icon class="header-icon">
  13. </el-icon>
  14. </template>
  15. <div class="asides_content">
  16. <div class="jc_content tablecolor">
  17. <div class="jc_padding">
  18. <div class="xian btncolor tablefocus" >
  19. <el-table
  20. :data="tableDatay"
  21. style="width: 100%"
  22. @row-click="handleDelete($event)"
  23. :row-class-name="tableRowClassName"
  24. max-height="350px"
  25. :header-cell-style="{'background':'rgba(13, 22, 57, 0.96) '}"
  26. :highlight-current-row="true"
  27. >
  28. <el-table-column prop="pname" label="选择巷道" width="130" />
  29. <el-table-column prop="site" label="位置" width="70" />
  30. <el-table-column label="操作" width="100">
  31. <template #default="scope">
  32. <el-button
  33. size="small"
  34. type="success"
  35. @click.stop="handledetection(scope.$index, scope.row)"
  36. >查看</el-button
  37. >
  38. </template>
  39. </el-table-column>
  40. </el-table>
  41. <div class="asdis_btn">
  42. <div class="flex_a" @click="newtable();sdialog.dianadddialog=true"><div class="btns"><span class="spantext">添加</span></div></div>
  43. <div class="flex_a" @click="xiugaitable();"><div class="btns"><span class="spantext">修改</span></div></div>
  44. <div class="flex_a" @click="shanchu('1');sdialog.dialogsgdelect=true"><div class="btns"><span class="spantext">删除</span></div></div>
  45. <!-- <div class="flex_a"><div class="btns"><span class="spantext">确定</span></div></div> -->
  46. </div>
  47. </div>
  48. <!-- -->
  49. <div class="xian tablefocus" style="margin-top: 20px;" v-show="sdialog.isDisasterfire">
  50. <div class="header_l header_z">
  51. <el-image :src="icon" fit="contain" ></el-image>
  52. <h4 class="tianjia"> 灾害源表</h4>
  53. <div class="closeimg" @click="sdialog.isDisasterfire=false"><el-image :src="closeimg" fit="contain" ></el-image></div>
  54. </div>
  55. <el-table
  56. :data="tableDatafir"
  57. style="width: 100%"
  58. :row-class-name="tableRowClassName"
  59. :header-cell-style="{'background':'rgba(13, 22, 57, 0.96) '}"
  60. :max-height="tableHeight"
  61. @row-click="handleDelete2($event)"
  62. :highlight-current-row="true"
  63. >
  64. <el-table-column prop="timeline" label="时间" width="70" />
  65. <el-table-column prop="val1" label="温度℃" width="70" />
  66. <el-table-column prop="val2" label="污染物1浓度" width="100" />
  67. <el-table-column prop="val2" label="污染物2浓度" width="100" />
  68. </el-table>
  69. <div class="asdis_btn">
  70. <div class="flex_a" @click="firinit();sdialog.adddialog=true"><div class="btns"><span class="spantext">添加</span></div></div>
  71. <div class="flex_a" @click="zaiyuxiugai();"><div class="btns"><span class="spantext"> 修改</span></div></div>
  72. <div class="flex_a" @click="shanchu('2');sdialog.dialogsgdelect=true"><div class="btns"><span class="spantext">删除</span></div></div>
  73. <div class="flex_a"><div class="btns" @click="sdialog.isDisasterfire=false"><span class="spantext">确定</span></div></div>
  74. </div>
  75. </div>
  76. </div>
  77. <div style="height:200px"></div>
  78. </div>
  79. </div>
  80. </el-collapse-item>
  81. </el-collapse>
  82. </div>
  83. </el-aside>
  84. </div>
  85. <div class="common-layout" style="margin: 0;" v-show="sour.collwater">
  86. <el-aside width="354px" class="L_aside L_aside1 asideg asidegbg leftbgimg1" >
  87. <div class="demo-collapse">
  88. <!-- 突水 sour.collwater-->
  89. <el-collapse v-model="coolactiveName1" accordion >
  90. <el-collapse-item name="1">
  91. <template #title>
  92. <el-icon class="iconimg Frame3" fit="contain" ></el-icon>
  93. 突水<el-icon class="header-icon">
  94. </el-icon>
  95. </template>
  96. <div class="asides_content">
  97. <div class="jc_content tablecolor">
  98. <div class="jc_padding">
  99. <div class="xian btncolor tablefocus" >
  100. <el-table
  101. :data="tableDatawat"
  102. style="width: 100%"
  103. :row-class-name="tableRowClassName"
  104. :header-cell-style="{'background':'rgba(13, 22, 57, 0.96) '}"
  105. @row-click="handleDelete($event)"
  106. max-height="350px"
  107. :highlight-current-row="true"
  108. >
  109. <el-table-column prop="pname" label="选择巷道" width="130" />
  110. <el-table-column prop="site" label="位置" width="70" />
  111. <el-table-column label="操作" width="100">
  112. <template #default="scope">
  113. <el-button
  114. size="small"
  115. type="success"
  116. @click.stop="handledetection2(scope.$index, scope.row)"
  117. >查看</el-button
  118. >
  119. </template>
  120. </el-table-column>
  121. </el-table>
  122. <div class="asdis_btn">
  123. <div class="flex_a" @click="newtable();sdialog.dianadddialog=true"><div class="btns"><span class="spantext">添加</span></div></div>
  124. <div class="flex_a" @click="xiugaitable();"><div class="btns"><span class="spantext">修改</span></div></div>
  125. <div class="flex_a" @click="shanchu('1');sdialog.dialogsgdelect=true"><div class="btns"><span class="spantext">删除</span></div></div>
  126. <div class="flex_a"><div class="btns"><span class="spantext">确定</span></div></div>
  127. </div>
  128. </div>
  129. <!-- 灾害源表 -->
  130. <div class="xian tablefocus" style="margin-top: 20px;" v-show="sdialog.disDisasterwter">
  131. <div class="header_l header_z">
  132. <el-image :src="icon" fit="contain" ></el-image>
  133. <h4 class="tianjia">灾害源表</h4>
  134. <div class="closeimg" @click="sdialog.disDisasterwter=false"><el-image :src="closeimg" fit="contain" ></el-image></div>
  135. </div>
  136. <el-table
  137. :data="tableData4"
  138. style="width: 100%"
  139. :max-height="tableHeight"
  140. :row-class-name="tableRowClassName"
  141. :header-cell-style="{'background':'rgba(13, 22, 57, 0.96) '}"
  142. @row-click="handleDelete3($event)"
  143. :highlight-current-row="true"
  144. >
  145. <el-table-column prop="timeline" label="时间" />
  146. <el-table-column prop="val1" label="突水量(m³/s)" />
  147. </el-table>
  148. <div class="asdis_btn">
  149. <div class="flex_a" @click="firinit();sdialog.adddwater=true"><div class="btns"><span class="spantext">添加</span></div></div>
  150. <div class="flex_a" @click="zaiyuxiugai();"><div class="btns"><span class="spantext"> 修改</span></div></div>
  151. <div class="flex_a" @click="shanchu('2');sdialog.dialogsgdelect=true"><div class="btns"><span class="spantext">删除</span></div></div>
  152. <div class="flex_a" @click="sdialog.disDisasterwter=false"><div class="btns"><span class="spantext">确定</span></div></div>
  153. </div>
  154. </div>
  155. </div>
  156. <div style="height:200px"></div>
  157. </div>
  158. </div>
  159. </el-collapse-item>
  160. </el-collapse>
  161. </div>
  162. </el-aside>
  163. </div>
  164. <!-- 灾害点源数据的添加-->
  165. <el-dialog v-model="sdialog.dianadddialog" width="400" align-center :modal="false" :close-on-click-modal="false"
  166. draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg" class="dialog_class bgcolor tianjia">
  167. <template #header="{titleId, titleClass }">
  168. <div class="my-header ">
  169. <el-image :src="icon" fit="contain" ></el-image>
  170. <h4 :id="titleId" :class="titleClass">{{zhtext}}</h4>
  171. </div>
  172. </template>
  173. <div class="demo-input-suffix firsttitle magintop">
  174. <el-form-item label="管道名称" :label-width="formLabelWidth5">
  175. <el-input v-model="selectstr"
  176. class="w-50 m-2"
  177. placeholder="管道名称"
  178. :prefix-icon="Search" />
  179. </el-form-item>
  180. <div class="btn2">
  181. <el-button type="primary" @click="fireclick();sdialog.dialogVisiblenode=true">选择管道</el-button></div>
  182. </div>
  183. <div class="input">
  184. <el-form-item label="位置" :label-width="formLabelWidth5">
  185. <el-input-number v-model="source.site" :min="0" :max="1"
  186. :precision="2" :step="0.1"
  187. controls-position="right"
  188. class="w-50 m-2"
  189. placeholder="位置"
  190. />
  191. </el-form-item>
  192. </div>
  193. <div class="dialog-footer footer_div l_btn">
  194. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="sdialog.dianadddialog=false">取消</el-button></div></div>
  195. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="handleEditfire(); sdialog.dianadddialog=false">
  196. 确定
  197. </el-button></div></div>
  198. </div>
  199. </el-dialog>
  200. <!-- 选择管道 -->
  201. <el-dialog
  202. v-model="sdialog.dialogVisiblenode"
  203. width="50%"
  204. class="dialog_class bgcolor tianjia asideg asidegbg leftbgimg"
  205. >
  206. <template #header="{titleId, titleClass }">
  207. <div class="my-header ">
  208. <el-image :src="icon" fit="contain" ></el-image>
  209. <h4 :id="titleId" :class="titleClass"> 选择管道</h4>
  210. </div>
  211. </template>
  212. <div class="demo-input-suffix firsttitle leftbgimg2">
  213. <div class="guand_1">
  214. <el-form-item label="节点选择" :label-width="formLabelWidth5">
  215. <el-input v-model="searchtaggd"
  216. class="w-50 m-2"
  217. placeholder="管道名称"
  218. :prefix-icon="Search" />
  219. </el-form-item>
  220. <div class="asdis_btn">
  221. <div class="flex_a"><div class="btns" @click="searchgd"><span class="spantext">搜索</span></div></div>
  222. </div>
  223. <!-- <div class="btn2">
  224. <el-button type="success" @click="searchgd">搜索</el-button></div> -->
  225. </div>
  226. <!-- <div class="btn2">
  227. <el-button type="success">导入</el-button></div>
  228. </div> -->
  229. <el-table
  230. :row-class-name="tableRowClassName"
  231. :max-height="tableHeight"
  232. ref="multipleTableRef"
  233. :data="tableData2"
  234. style="width: 100%"
  235. @select="projectsSelectionSelect"
  236. :header-cell-style="{'background':'rgba(13, 22, 57, 0.96) '}"
  237. >
  238. <el-table-column type="selection" width="55" />
  239. <el-table-column property="snId" label="开始节点"/>
  240. <el-table-column property="enId" label="结束节点"/>
  241. <el-table-column property="id" label="编号" width="70"/>
  242. <el-table-column property="name" label="名称" width="70"/>
  243. <el-table-column property="sectionType" label="截面类型" width="120"/>
  244. <el-table-column property="roughCoe" label="粗糙系数"/>
  245. <el-table-column property="sectionPara1" label="截面参数1" width="90"/>
  246. <el-table-column property="sectionPara2" label="截面参数2" width="90" />
  247. <el-table-column property="sectionPara3" label="截面参数3" width="90"/>
  248. <el-table-column property="sectionPara4" label="截面参数4" width="90"/>
  249. <el-table-column property="sectionPara5" label="截面参数5" width="90"/>
  250. </el-table>
  251. <div class="demo-pagination-block" style="margin-top: 20px;">
  252. <el-pagination
  253. v-model:current-page="currentPage4"
  254. v-model:page-size="pageSize4"
  255. small
  256. background
  257. layout="prev, total,pager, next, jumpe,"
  258. :total="parseInt(total)"
  259. class="mt-4"
  260. @size-change="handleSizeChange"
  261. @current-change="handleCurrentChange"
  262. />
  263. </div>
  264. <div class="dialog-footer footer_div l_btn">
  265. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="sdialog.dialogVisiblenode = false">取消</el-button></div></div>
  266. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="queding();sdialog.dialogVisiblenode = false">
  267. 确定
  268. </el-button></div></div>
  269. </div>
  270. </div>
  271. </el-dialog>
  272. <!-- 灾害火灾源检测数据的添加-->
  273. <el-dialog v-model="sdialog.adddialog" width="400" align-center :modal="false" :close-on-click-modal="false"
  274. draggable :fullscreen="false" :modal-append-to-body="false" modal-class="summary-dlg" class="dialog_class bgcolor tianjia">
  275. <template #header="{titleId, titleClass }">
  276. <div class="my-header ">
  277. <el-image :src="icon" fit="contain" ></el-image>
  278. <h4 :id="titleId" :class="titleClass">{{zhtext}}</h4>
  279. </div>
  280. </template>
  281. <div>
  282. <el-form>
  283. <el-form-item label="时间" :label-width="formLabelWidth6">
  284. <el-input v-model="Disastersource.timeline" class="w-50 m-2" placeholder="请输入" />
  285. </el-form-item>
  286. <el-form-item label="温度℃" :label-width="formLabelWidth6">
  287. <el-input v-model="Disastersource.val1" class="w-50 m-2" placeholder="请输入" />
  288. </el-form-item>
  289. <el-form-item label="污染物1浓度" :label-width="formLabelWidth6">
  290. <el-input v-model="Disastersource.val2" class="w-50 m-2" placeholder="请输入" />
  291. </el-form-item>
  292. <el-form-item label="污染物2浓度" :label-width="formLabelWidth6">
  293. <el-input v-model="Disastersource.val3" class="w-50 m-2" placeholder="请输入" />
  294. </el-form-item>
  295. </el-form>
  296. </div>
  297. <div class="dialog-footer footer_div l_btn">
  298. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="sdialog.adddialog=false">取消</el-button></div></div>
  299. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="addjiancf();sdialog.adddialog=false">
  300. 确定
  301. </el-button></div></div>
  302. </div>
  303. </el-dialog>
  304. <!-- 灾害源突水检测数据的添加-->
  305. <el-dialog v-model="sdialog.adddwater" width="400" class="dialog_class bgcolor tianjia">
  306. <template #header="{titleId, titleClass }">
  307. <div class="my-header ">
  308. <el-image :src="icon" fit="contain" ></el-image>
  309. <h4 :id="titleId" :class="titleClass">添加</h4>
  310. </div>
  311. </template>
  312. <div>
  313. <el-form>
  314. <el-form-item label="时间" :label-width="formLabelWidth6">
  315. <el-input v-model="Disastersource.timeline" class="w-50 m-2" placeholder="请输入" />
  316. </el-form-item>
  317. <el-form-item label="突水量(m³/s)" :label-width="formLabelWidth6">
  318. <el-input v-model="Disastersource.val1" class="w-50 m-2" placeholder="请输入" />
  319. </el-form-item>
  320. </el-form>
  321. </div>
  322. <div class="dialog-footer footer_div l_btn">
  323. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="sdialog.adddwater=false">取消</el-button></div></div>
  324. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="addjiancf();sdialog.adddwater=false">
  325. 确定
  326. </el-button></div></div>
  327. </div>
  328. </el-dialog>
  329. <!-- 删除 -->
  330. <el-dialog v-model="sdialog.dialogsgdelect" width="400" class="dialog_class bgcolor tianjia">
  331. <template #header="{titleId, titleClass }">
  332. <div class="my-header ">
  333. <el-image :src="icon" fit="contain" ></el-image>
  334. <h4 :id="titleId" :class="titleClass">删除框</h4>
  335. </div>
  336. </template>
  337. <h4 class="delecttitle"> 是否确认删除 <span class="spanclad">{{zqname }}</span></h4>
  338. <div class="dialog-footer footer_div l_btn">
  339. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="sdialog.dialogsgdelect=false">取消</el-button></div></div>
  340. <div class="footerbtn flex1"><div class="borderimg"><el-button @click="fundeledata();sdialog.dialogsgdelect=false">
  341. 确定
  342. </el-button></div></div>
  343. </div>
  344. </el-dialog>
  345. </div>
  346. </template>
  347. <script setup>
  348. import { computed,ref,onMounted,reactive, toRef } from "vue";
  349. import { request, uploadFile } from "@/utils/request";
  350. import icon from "@/assets/img/icon.png";
  351. import closeimg from "@/assets/img/colse.png";
  352. import { ElMessage,ElButton, ElDialog,ElSelect } from 'element-plus'
  353. import { Calendar, Search } from '@element-plus/icons-vue'
  354. import { c } from "@kitware/vtk.js/macros2";
  355. const props= defineProps({
  356. classradio: {
  357. type: String,
  358. },
  359. aid:{
  360. type: String,
  361. }
  362. });
  363. let zaihai=ref({
  364. addEied:'',
  365. })
  366. let zhtext=ref("");
  367. const sdialog=ref({
  368. adddialog:false,
  369. dialogsgdelect:false,
  370. dianadddialog:false,
  371. dialogVisiblenode:false,
  372. isDisasterfire:false,
  373. isDisasterwter:false,
  374. adddwater:false,
  375. })
  376. let selectstr=ref('');
  377. const currentPage4 = ref(1);
  378. const pageSize4 = ref(5)
  379. const tableDatawat = ref([]);
  380. const tableDatafir= ref([])
  381. const dialogVisible = ref(true);
  382. const sour = ref({
  383. collfire:false,
  384. collwater:false,
  385. });
  386. let jiancobj=ref({});
  387. let firepid=ref("");
  388. let svid=ref("");
  389. let firesid=ref("");
  390. let searchtaggd=ref("");
  391. let total=ref(1);
  392. let gdadd=ref("0");
  393. let jcadd=ref();
  394. let tableHeight=ref(300)
  395. const multipleTableRef = ref()
  396. const multipleSelection = ref([])
  397. const formLabelWidth5=ref(77);
  398. const formLabelWidth6=ref(120);
  399. let source=reactive({pname:"",site:0.1})
  400. let Disastersource=ref({
  401. svid:0,
  402. timeline:'',
  403. val1:'',
  404. val2:'',
  405. val3:'',
  406. val4:'',
  407. })
  408. let tableobj=ref({});
  409. const tableData2= ref([])
  410. let aid=ref();
  411. let biaoid= ref();
  412. let coolactiveName1=ref(["1","2"]);
  413. let zqname=ref('');
  414. const tableRowClassName = ({row, rowIndex}) =>{
  415. if (rowIndex%2 != 0) {
  416. return 'evenRow';
  417. }
  418. return 'oddRow';
  419. }
  420. const tableData = ref([]);
  421. const tableDatay = ref([]);
  422. const tableData4=ref([]);
  423. const accident3=(key)=>{
  424. if (key == '1') {
  425. console.log(props.classradio);
  426. if(props.classradio=="Fire"){
  427. sour.value.collfire=true;
  428. sour.value.collwater=false;
  429. }else if(props.classradio=="Water"){
  430. sour.value.collwater=true;
  431. sour.value.collfire=false;
  432. }
  433. }else{
  434. sour.value.collwater=false;
  435. sour.value.collfire=false;
  436. }
  437. }
  438. //灾情源查询列表
  439. const handledisaster=(aidval)=>{
  440. aid.value=aidval;
  441. const params = {
  442. transCode: 'D00005',
  443. aid:aid.value,
  444. }
  445. request(params)
  446. .then((res) => {
  447. if(props.classradio=='Fire'){
  448. tableDatay.value=res.rows
  449. }else{
  450. tableDatawat.value=res.rows
  451. }
  452. ;
  453. })
  454. .catch((err) => {
  455. ElMessage.error(err.returnMsg)
  456. })
  457. }
  458. // 灾情源添加
  459. const fireadd=()=>{
  460. const params = {
  461. transCode: 'D00004',
  462. pid:firepid.value,
  463. aid:aid.value,
  464. stype:props.classradio,
  465. site:source.site,
  466. }
  467. request(params)
  468. .then((res) => {
  469. ElMessage({
  470. message: res.returnMsg,
  471. type: 'success',
  472. })
  473. handledisaster(aid.value)
  474. })
  475. .catch((err) => {
  476. ElMessage.error(err.returnMsg)
  477. })
  478. }
  479. //添加保存
  480. const handleEditfire=()=>{
  481. if(gdadd.value=='1'){
  482. fireadd()
  483. sdialog.value.dianadddialog=false;
  484. }else if(gdadd.value=='2'){
  485. if(props.classradio=='Fire'){
  486. sdialog.value.dianadddialog=false;
  487. }
  488. }else if(gdadd.value='3'){
  489. xiugaiapi();
  490. // waaddshow.value=false;
  491. }else{
  492. }
  493. handledisaster(aid.value);
  494. }
  495. //灾情源删除
  496. const handleDelete=(val)=>{
  497. console.log(val);
  498. tableobj.value=val;
  499. firesid.value=val.sid;
  500. zqname.value=val.pname;
  501. }
  502. const shanchu=(val)=>{
  503. biaoid.value=val;
  504. }
  505. const fundeledata=()=>{
  506.  if( biaoid.value=='1'){
  507.         fundeledata2();
  508.       }else{
  509.         fundeledata3();
  510.       }
  511. }
  512. const fundeledata2=()=>{
  513. const params = {
  514. transCode: 'D000011',
  515. sid:firesid.value,
  516. }
  517. console.log(params);
  518. request(params)
  519. .then((res) => {
  520. ElMessage({
  521. message: '删除成功',
  522. type: 'success',
  523. })
  524. handledisaster(aid.value);
  525. })
  526. .catch((err) => {
  527. ElMessage.error(err.returnMsg)
  528. })
  529. }
  530. // 管道搜索
  531. function searchgd(){
  532. pipelinedata(searchtaggd.value);
  533. }
  534. // 分页查询
  535. function handleSizeChange(val) {
  536. }
  537. const handleCurrentChange=(val)=>{
  538. pipelinedata(searchtaggd.value)
  539. }
  540. //新建fire
  541. const newtable=()=>{
  542. selectstr.value='';
  543. firepid.value='';
  544. source.site=0;
  545. newtable.value='1';
  546. gdadd.value='1';
  547. zhtext.value='添加';
  548. }
  549. // 修改
  550. const xiugaitable=()=>{
  551. gdadd.value='3';
  552. zhtext.value='修改'
  553. if(JSON. stringify(tableobj.value) == '{}'){
  554. ElMessage.error("你还没有选中修改的项目")
  555. }else{
  556. sdialog.value.dianadddialog=true;
  557. aid.value=tableobj.value.aid;
  558. firepid.value=tableobj.value.pid;
  559. source.site=tableobj.value.site;
  560. selectstr.value=tableobj.value.pname;
  561. }
  562. }
  563. // 修改接口
  564. const xiugaiapi=()=>{
  565. const params = {
  566. transCode: 'D000010',
  567. pid:firepid.value,
  568. site:source.site,
  569. sid:tableobj.value.sid,
  570. }
  571. request(params)
  572. .then((res) => {
  573. ElMessage({
  574. message: res.returnMsg,
  575. type: 'success',
  576. })
  577. })
  578. .catch((err) => {
  579. })
  580. }
  581. // 选择
  582. const fireclick=()=>{
  583. pipelinedata('');
  584. }
  585. const queding=()=>{
  586. selectfun();
  587. }
  588. const selectfun=()=>{
  589. selectstr.value='';
  590. currentPage4.value=1;
  591. console.log()
  592. if(multipleSelection.value.length!=0){
  593. firepid.value=multipleSelection.value[0].id;
  594. selectstr.value=multipleSelection.value[0].name;
  595. }else{
  596. // selectstr.value='';
  597. }
  598. }
  599. const projectsSelectionSelect=(selection, row)=>{
  600. if(selection.length>1){
  601. multipleTableRef.value.clearSelection();
  602. multipleTableRef.value.toggleRowSelection(row,true);
  603. multipleSelection.value=selection[1];
  604. return;
  605. }
  606. if(selection.length==1){
  607. multipleSelection.value=selection;
  608. }else if(selection.length==0){
  609. }
  610. // console.log(row)
  611. }
  612. //管道数据查询
  613. const pipelinedata=(searchtag)=>{
  614. const params = {
  615. transCode: 'D00001',
  616. count:pageSize4.value,
  617. page:currentPage4.value,
  618. searchtag:searchtag,
  619. }
  620. request(params)
  621. .then((res) => {
  622. tableData2.value=res.rows
  623. total.value=res.total
  624. })
  625. .catch((err) => {
  626. })
  627. }
  628. // 灾源检测
  629. const handledetection=(index,row)=>{
  630. sdialog.value.isDisasterfire=true;
  631. firesid.value=row.sid;
  632. getinquire();
  633. }
  634. //突水灾源检测
  635. const handledetection2=(index,row)=>{
  636. sdialog.value.disDisasterwter=true;
  637. firesid.value=row.sid;
  638. getinquire();
  639. }
  640. // 灾源检测查询
  641. const getinquire=()=>{
  642. const params = {
  643. transCode: 'D00007',
  644. sid:firesid.value,
  645. }
  646. request(params)
  647. .then((res) => {
  648. console.log(res.rows);
  649. if(props.classradio=='Fire'){
  650. tableDatafir.value=res.rows;
  651. }else{
  652. tableData4.value=res.rows
  653. }
  654. })
  655. .catch((err) => {
  656. })
  657. }
  658. // const Disasterclick=(index,row)=>{
  659. // addjiancf();
  660. // }
  661. // 灾源火灾检测添加
  662. const addjiancf=()=>{
  663. if(zaihai.value.addEied=='a'){
  664. const params = {
  665. transCode: 'D00006',
  666. sid:firesid.value,
  667. timeline:Disastersource.value.timeline,
  668. val1:Disastersource.value.val1,
  669. val2:Disastersource.value.val2,
  670. val3:Disastersource.value.val3,
  671. val4:Disastersource.value.val4,
  672. }
  673. request(params)
  674. .then((res) => {
  675. //console.log(res);
  676. ElMessage({
  677. message: res.returnMsg,
  678. type: 'success',
  679. })
  680. getinquire();
  681. })
  682. .catch((err) => {
  683. ElMessage.error(err.returnMsg)
  684. })
  685. }else{
  686. zaiyuxiugaiapi();
  687. }
  688. }
  689. //灾情源添加清空
  690. const firinit=()=>{
  691. zaihai.value.addEied='a';
  692. Disastersource.value.timeline='';
  693. Disastersource.value.val1='';
  694. Disastersource.value.val2='';
  695. Disastersource.value.val3='';
  696. Disastersource.value.val4='';
  697. zhtext.value='添加';
  698. }
  699. // 灾害源检测的修改
  700. const zaiyuxiugai=()=>{
  701. zaihai.value.addEied='x';
  702. zhtext.value='修改';
  703. if(JSON. stringify(jiancobj.value) == '{}'){
  704. ElMessage.error("你还没有选中修改的项目")
  705. }else{
  706. if(props.classradio=="Fire"){
  707. sdialog.value.adddialog=true;
  708. }else{
  709. sdialog.value.adddwater=true;
  710. }
  711. Disastersource.value.timeline=jiancobj.value.timeline;
  712. Disastersource.value.val1=jiancobj.value.val1;
  713. Disastersource.value.val2=jiancobj.value.val2;
  714. Disastersource.value.val3= jiancobj.value.val3;
  715. Disastersource.value.val4=jiancobj.value.val4;
  716. }
  717. }
  718. // 灾害源的检测表修改接口
  719. const zaiyuxiugaiapi=()=>{
  720. const params = {
  721. transCode: 'D000012',
  722. svid:jiancobj.value.svid,
  723. timeline:Disastersource.value.timeline,
  724. val1:Disastersource.value.val1,
  725. val2:Disastersource.value.val2,
  726. val3:Disastersource.value.val3,
  727. val4:Disastersource.value.val4,
  728. }
  729. request(params)
  730. .then((res) => {
  731. ElMessage({
  732. message: res.returnMsg,
  733. type: 'success',
  734. })
  735. getinquire();
  736. })
  737. .catch((err) => {
  738. ElMessage.error(err.returnMsg)
  739. })
  740. }
  741. // 灾源突水检测添加
  742. //灾情检测删除
  743. const handleDelete2=(val)=>{
  744. console.log(val);
  745. jiancobj.value=val;
  746. firesid.value=val.sid;
  747. zqname.value="检测表的一条信息";
  748. svid.value=val.svid
  749. }
  750. const handleDelete3=(val)=>{
  751. console.log(val);
  752. jiancobj.value=val;
  753. firesid.value=val.sid;
  754. zqname.value="检测表的一条信息";
  755. svid.value=val.svid
  756. }
  757. const fundeledata3=()=>{
  758. const params = {
  759. transCode: 'D000013',
  760. svid:svid.value,
  761. }
  762. request(params)
  763. .then((res) => {
  764. //console.log(res);
  765. ElMessage({
  766. message: "删除成功",
  767. type: 'success',
  768. })
  769. getinquire();
  770. })
  771. .catch((err) => {
  772. ElMessage.error(err.returnMsg)
  773. })
  774. }
  775. onMounted(() => {
  776. });
  777. defineExpose({sour,accident3,handledisaster});
  778. </script>
  779. <style lang="scss" scoped>
  780. .jc_padding .el-table tr{
  781. height: 30px !important;
  782. background: rgba(104,173,255,0.3);
  783. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  784. border-radius: 0px 0px 0px 0px;
  785. border: 1px solid;
  786. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  787. }
  788. .flex_a{
  789. flex: 1;
  790. padding: 0 19px;
  791. }
  792. .btns{
  793. width: 72px;
  794. height: 30px;
  795. background-image: url(../../assets/img/Rectangle399.png);
  796. background-repeat: no-repeat;
  797. line-height: 30px;
  798. overflow: hidden;
  799. margin: 10px 0;
  800. .spantext{
  801. font-weight: bold;
  802. font-size: 12px;
  803. color: #FFFFFF;
  804. text-align: left;
  805. font-style: normal;
  806. text-transform: none;
  807. }
  808. }
  809. .header_z{
  810. box-shadow:none !important;
  811. padding: 10px 20px !important;
  812. }
  813. .header_l{
  814. line-height: 10px;
  815. // height: 40px;
  816. text-align: left;
  817. padding: 0 20px;
  818. // border-bottom: 1px solid;
  819. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  820. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  821. border-radius: 0px 0px 0px 0px;
  822. .el-image{
  823. padding: 10px 10px 0 0;
  824. }
  825. h4{
  826. font-weight: bold;
  827. font-size: 12px;
  828. color: #68ADFF;
  829. line-height: 14px;
  830. text-align: left;
  831. font-style: normal;
  832. text-transform: none;
  833. }
  834. }
  835. .tianjia{
  836. display: inline-block;
  837. }
  838. .jc_padding{
  839. padding: 18px 10px;
  840. }
  841. .line{
  842. border-bottom: 1px solid rgba(255, 255, 255, 0.20);
  843. box-sizing: border-box;
  844. }
  845. .L_aside{
  846. .iconimg{
  847. width: 37px;
  848. height: 36px;
  849. margin:0 7px 0 24px;
  850. }
  851. .Frame2{
  852. background-image: url(../../assets/img/Frame2.png);
  853. background-size: 100%;
  854. background-position: center;
  855. }
  856. .Frame3{
  857. background-image: url(../../assets/img/Frame3.png);
  858. background-repeat: no-repeat;
  859. background-position: center;
  860. }
  861. .el-collapse,.el-collapse-item__header{
  862. border: none;
  863. ul li{
  864. text-align: left;
  865. }
  866. .inputkuang{
  867. height: 30px;
  868. width: 100%;
  869. background: rgba(13,22,57,0.4);
  870. position: relative;
  871. .righttext{
  872. display: inline-block;
  873. position: absolute;
  874. right: 10px;
  875. top: 3px;
  876. color: rgba($color: #FFFFFF, $alpha: 0.8);
  877. }
  878. }
  879. .inputtext_1{
  880. font-weight: 400;
  881. font-size: 13px;
  882. color: #FFFFFF;
  883. line-height: 14px;
  884. text-align: left;
  885. font-style: normal;
  886. text-transform: none;
  887. padding: 13px 0 7px 0;
  888. display: inline-block;
  889. }
  890. }
  891. }
  892. .ddd{
  893. margin-top: 20px;
  894. .ddd_div{
  895. padding: 20px 0;
  896. position: relative;
  897. }
  898. .class_btn{
  899. position: absolute;
  900. right: 0;
  901. top: 21px;
  902. }
  903. .header_l{
  904. line-height: 10px;
  905. // height: 40px;
  906. text-align: left;
  907. padding: 0 20px;
  908. // border-bottom: 1px solid;
  909. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  910. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  911. border-radius: 0px 0px 0px 0px;
  912. .el-image{
  913. padding: 10px 10px 0 0;
  914. }
  915. h4{
  916. font-weight: bold;
  917. font-size: 12px;
  918. color: #68ADFF;
  919. line-height: 14px;
  920. text-align: left;
  921. font-style: normal;
  922. text-transform: none;
  923. }
  924. }
  925. }
  926. .tianjia{
  927. display: inline-block;
  928. }
  929. .el-dialog__title{
  930. display: inline-block;
  931. }
  932. .bgcolor{
  933. // width: 482px;
  934. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  935. border-radius: 0px 0px 0px 0px;
  936. border: 1px solid;
  937. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  938. }
  939. .dialog_class{
  940. .my-header{
  941. line-height: 10px;
  942. height: 40px;
  943. text-align: left;
  944. padding: 0 20px;
  945. border-bottom: 1px solid;
  946. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  947. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  948. border-radius: 0px 0px 0px 0px;
  949. .el-image{
  950. padding: 10px 10px 0 0;
  951. }
  952. h4{
  953. font-weight: bold;
  954. font-size: 12px;
  955. color: #68ADFF;
  956. line-height: 14px;
  957. text-align: left;
  958. font-style: normal;
  959. text-transform: none;
  960. }
  961. }
  962. .my_content{
  963. width: 100%;
  964. height: 90px;
  965. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  966. border-radius: 0px 0px 0px 0px;
  967. position: relative;
  968. .radio-group{
  969. display: flex;
  970. justify-content: center;
  971. .el-radio{
  972. flex: 1;
  973. justify-content: center;
  974. font-weight: bold;
  975. font-size: 12px;
  976. color: #FFFFFF;
  977. line-height: 14px;
  978. }
  979. }
  980. }
  981. .el-dialog__footer{
  982. position: absolute;
  983. bottom: 17px;
  984. display: flex;
  985. .footerbtn{
  986. flex: 1;
  987. text-align: center;
  988. }
  989. }
  990. }
  991. .my_content1{
  992. .el-table .cell{
  993. font-weight: 400;
  994. font-size: 12px;
  995. color: #FFFFFF !important;
  996. line-height: 14px;
  997. text-align: left;
  998. font-style: normal;
  999. text-transform: none;
  1000. }
  1001. }
  1002. .l_btn .borderimg {
  1003. width: 109px;
  1004. height: 30px;
  1005. background: rgba(104,173,255,0.3);
  1006. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  1007. /* border: 1px solid rgba(31, 107, 255, 1); */
  1008. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1009. border-radius: 4px;
  1010. display: flex;
  1011. display: inline-block;
  1012. box-sizing: border-box;
  1013. }
  1014. .borderimg{
  1015. width: 109px;
  1016. height: 30px;
  1017. background: rgba(104,173,255,0.3);
  1018. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  1019. /* border: 1px solid rgba(31, 107, 255, 1); */
  1020. -o-border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1021. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1022. border-radius: 4px;
  1023. display: flex;
  1024. display: inline-block;
  1025. box-sizing: border-box
  1026. }
  1027. .el-table,.el-table thead th {
  1028. background-color: rgba(13, 22, 57, 0.96) !important;
  1029. }
  1030. .L_aside{
  1031. height: calc(100vh - 70px);
  1032. position: absolute;
  1033. top: 70px;
  1034. overflow: hidden;
  1035. }
  1036. .el-form-item__label{
  1037. color: #FFFFFF !important;
  1038. }
  1039. .asdis_btn{
  1040. display: flex;
  1041. margin-top: 9px;
  1042. .btn{
  1043. flex: 1;
  1044. width: 145px;
  1045. height: 54px;
  1046. background-image: url(../../assets/img/Rectangle5.png) ;
  1047. background-size: cover;
  1048. background-position-x: center !important;
  1049. line-height: 54px;
  1050. .spantext{
  1051. font-weight: bold;
  1052. font-size: 12px;
  1053. color: #FFFFFF;
  1054. text-align: center;
  1055. font-style: normal;
  1056. text-transform: none;
  1057. }
  1058. }
  1059. }
  1060. .jiancedian{
  1061. width:380px;
  1062. position: absolute;
  1063. right: 0;
  1064. top: 70px;
  1065. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  1066. border-radius: 4px 4px 4px 4px;
  1067. border: 1px solid;
  1068. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1069. }
  1070. </style>
  1071. <style>
  1072. .el-collapse-item__header{
  1073. border: 1px solid;
  1074. -o-border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1075. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1076. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  1077. border-radius: 0px 0px 0px 0px;
  1078. background-color: rgba(13, 22, 57, 0.4);
  1079. }
  1080. .leftbgimg1 .el-collapse-item__header{
  1081. background-image: url(../../assets/img/Group10.png)!important;
  1082. background-size: cover;
  1083. background-position-x: center !important;
  1084. }
  1085. .xian{
  1086. border: 1px solid;
  1087. -o-border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1088. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1089. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  1090. border-radius: 0px 0px 0px 0px;
  1091. background-color: rgba(13, 22, 57, 0.4);
  1092. }
  1093. .header_l{
  1094. position: relative;
  1095. }
  1096. .header_l .closeimg{
  1097. position: absolute;
  1098. top: 10px;
  1099. right: 0;
  1100. }
  1101. .asideg .el-collapse-item__wrap{
  1102. background: rgba(13, 22, 57, 0.4);
  1103. /* //border: 1px solid; */
  1104. border-bottom: 1px solid;
  1105. border-left:1px solid;
  1106. border-right:1px solid;
  1107. -o-border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1108. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1109. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  1110. border-radius: 0px 0px 0px 0px;
  1111. background-color: rgba(13, 22, 57, 0.4);
  1112. }
  1113. .leftbgimg1 .el-table tr{
  1114. height: 30px !important;
  1115. background: rgba(104,173,255,0.3);
  1116. box-shadow: inset 0px 0px 17px 5px rgba(12,97,197,0.2);
  1117. border-radius: 0px 0px 0px 0px;
  1118. border: 1px solid;
  1119. border-image: linear-gradient(180deg, rgba(31, 107, 255, 1), rgba(31, 107, 255, 0.48)) 1 1;
  1120. }
  1121. .btncolor .el-button{
  1122. background-color: rgba(104,173,255,0);
  1123. font-weight: 400;
  1124. font-size: 12px;
  1125. color: #FFF500;
  1126. line-height: 14px;
  1127. text-align: left;
  1128. font-style: normal;
  1129. text-transform: none;
  1130. border: none;
  1131. }
  1132. .btncolor .el-button:focus, .el-button:hover{
  1133. background-color: none;
  1134. background-color: rgba(104,173,255,0);
  1135. }
  1136. .btncolor .el-table__header{
  1137. margin: 0 14px
  1138. }
  1139. .magintop{
  1140. display: flex;
  1141. }
  1142. .magintop .el-form-item{
  1143. margin-right: 20px;
  1144. }
  1145. .guand_1{
  1146. display: flex;
  1147. }
  1148. .el-table .cell{
  1149. color: #fff;
  1150. font-size: 12px;
  1151. }
  1152. .spanclad{
  1153. color: #FFF500;
  1154. }
  1155. .tablefocus .el-table__body tr.current-row>td.el-table__cell {
  1156. background-color: rgba(255,255,25,0.5);
  1157. }
  1158. .bbb .el-collapse-item__content{
  1159. background: rgba(13, 22, 57, 0);
  1160. }
  1161. .guand_1 .asdis_btn{
  1162. margin-top: -9px;
  1163. }
  1164. </style>