index.vue 44 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474
  1. /**
  2. *@author:Guoxiaohuan
  3. *@date:2020.06.08
  4. *@info 机房信息主页
  5. */
  6. <template>
  7. <div class="compute-box">
  8. <el-dialog :title="`${systemName}`" :visible.sync="visible" :fullscreen="true">
  9. <el-tooltip
  10. class="item"
  11. effect="dark"
  12. :content="content"
  13. placement="top"
  14. v-if="((type=='floor'&& Object.keys(smsxtArr).length>0) && smsxtArr.smsxt!='0000')||type=='system'"
  15. >
  16. <div class="compute-zf" @click="jumpFloor"></div>
  17. </el-tooltip>
  18. <div class="compute-tab">
  19. <el-tabs v-model="activeName" @tab-click="handleClick" ref="elTabs">
  20. <el-tab-pane label="机房布置图" name="1" v-if="tableImg.length>0">
  21. <room-table1 v-if="tableImg.length>=0" :tableImg="tableImg"></room-table1>
  22. </el-tab-pane>
  23. <el-tab-pane label="配电室低压柜及出线明细表" name="2" v-if="showLocationflid">
  24. <div class="compute-center">
  25. <Select
  26. width="200"
  27. @change="Index1Emit(1)"
  28. v-model="floor2"
  29. tipPlace="top"
  30. caption="楼层:"
  31. :selectdata="floorSelect2"
  32. :placeholder="'请选择'"
  33. style="margin-right:12px"
  34. ></Select>
  35. <el-input
  36. clearable
  37. @keyup.enter.native="Index1Emit(1)"
  38. @blur="Index1Emit(1)"
  39. v-model="ctbhInput"
  40. placeholder="搜索抽屉编号"
  41. size="small"
  42. prefix-icon="el-icon-search"
  43. style="width:200px;margin-right:12px"
  44. ></el-input>
  45. <el-input
  46. clearable
  47. @keyup.enter.native="Index1Emit(1)"
  48. @blur="Index1Emit(1)"
  49. v-model="cxggInput"
  50. placeholder="搜索出线规格"
  51. size="small"
  52. prefix-icon="el-icon-search"
  53. style="width:200px;margin-right:12px"
  54. ></el-input>
  55. <el-input
  56. clearable
  57. @keyup.enter.native="Index1Emit(1)"
  58. @blur="Index1Emit(1)"
  59. v-model="djbhInput"
  60. placeholder="搜索电井编号"
  61. size="small"
  62. prefix-icon="el-icon-search"
  63. style="width:200px;margin-right:12px"
  64. ></el-input>
  65. <el-input
  66. clearable
  67. @keyup.enter.native="Index1Emit(1)"
  68. @blur="Index1Emit(1)"
  69. v-model="kzhlInput"
  70. placeholder="搜索控制回路"
  71. size="small"
  72. prefix-icon="el-icon-search"
  73. style="width:200px;margin-right:12px"
  74. ></el-input>
  75. </div>
  76. <room-table2
  77. ref="roomTable2"
  78. v-if="table2.length>=0"
  79. :table2="table2"
  80. :loading="loading1"
  81. :page="page1"
  82. :total="total1"
  83. :size="size1"
  84. @Index1Emit="Index1Emit"
  85. ></room-table2>
  86. </el-tab-pane>
  87. <el-tab-pane label="机房内核心设备" name="3">
  88. <div class="compute-center">
  89. <el-input
  90. clearable
  91. placeholder="搜索设备简称"
  92. size="small"
  93. prefix-icon="el-icon-search"
  94. v-model="sbjcInput"
  95. @keyup.enter.native="Index2Emit(1)"
  96. @blur="Index2Emit(1)"
  97. style="width:200px;margin-right:12px"
  98. ></el-input>
  99. <el-input
  100. clearable
  101. @keyup.enter.native="Index2Emit(1)"
  102. @blur="Index2Emit(1)"
  103. placeholder="搜索品牌型号"
  104. size="small"
  105. prefix-icon="el-icon-search"
  106. v-model="ppxhInput"
  107. style="width:200px;margin-right:12px"
  108. ></el-input>
  109. <!-- <Select
  110. width='200'
  111. @change='Index2'
  112. tipPlace='top'
  113. v-model='floorChange'
  114. caption='楼层:'
  115. :selectdata='floorSelect'
  116. :placeholder='"请选择"'
  117. style='margin-right:12px'
  118. ></Select>-->
  119. <el-input
  120. clearable
  121. @keyup.enter.native="Index2Emit(1)"
  122. @blur="Index2Emit(1)"
  123. placeholder="搜索生产厂商"
  124. size="small"
  125. prefix-icon="el-icon-search"
  126. v-model="sccsInput"
  127. style="width:200px;margin-right:12px"
  128. ></el-input>
  129. </div>
  130. <room-table3
  131. ref="roomTable3"
  132. v-if="table3.length>=0"
  133. :table3="table3"
  134. :systemName="systemName"
  135. :loading="loading2"
  136. :page="page2"
  137. :total="total2"
  138. :size="size2"
  139. :location="location"
  140. @Index2Emit="Index2Emit"
  141. ></room-table3>
  142. </el-tab-pane>
  143. <el-tab-pane label="核心设备日常维保" name="5">
  144. <div class="compute-center">
  145. <el-input
  146. @keyup.enter.native="Index4Emit(1)"
  147. @blur="Index4Emit(1)"
  148. clearable
  149. placeholder="搜索设备名称或内码"
  150. size="small"
  151. prefix-icon="el-icon-search"
  152. v-model="sbmcInput5"
  153. style="margin-right:12px;width:220px;"
  154. ></el-input>
  155. <el-input
  156. @keyup.enter.native="Index4Emit(1)"
  157. @blur="Index4Emit(1)"
  158. clearable
  159. placeholder="搜索核心维保事项记录描述"
  160. size="small"
  161. prefix-icon="el-icon-search"
  162. v-model="wbsxjlInput5"
  163. style="margin-right:12px;width:220px;"
  164. ></el-input>
  165. <el-input
  166. @keyup.enter.native="Index4Emit(1)"
  167. @blur="Index4Emit(1)"
  168. clearable
  169. placeholder="搜索任务编号"
  170. size="small"
  171. prefix-icon="el-icon-search"
  172. v-model="rwbhInput5"
  173. style="margin-right:12px;width:220px;"
  174. ></el-input>
  175. <Select
  176. @change="Index4Emit(1)"
  177. width="220"
  178. tipPlace="top"
  179. v-model="statuSelect5"
  180. caption="任务状态:"
  181. v-if="status.length>=0"
  182. :selectdata="status"
  183. :placeholder="''"
  184. style="margin-right:12px"
  185. ></Select>
  186. <Select
  187. @change="Index4Emit(1)"
  188. width="220"
  189. tipPlace="top"
  190. v-model="iszcSelect5"
  191. caption="是否正常:"
  192. v-if="zt.length>=0"
  193. :selectdata="zt"
  194. :placeholder="''"
  195. style="margin-right:12px"
  196. ></Select>
  197. </div>
  198. <div class="dialog-none">
  199. <div class="input-dialog">
  200. <div class="input-dialog-top" @click="show">
  201. <img src="@/assets/imgs/select.png" />
  202. 筛选
  203. </div>
  204. <div class="input-dialog-form" v-if="dialogFormVisible">
  205. <p class="input-dialog-p">任务开始日期</p>
  206. <p class="input-dialog-p2">
  207. <el-date-picker
  208. clearable
  209. value-format="yyyyMMdd"
  210. type="daterange"
  211. size="mini"
  212. v-model="rwksrq"
  213. style="width:200px"
  214. range-separator="-"
  215. start-placeholder
  216. end-placeholder
  217. ></el-date-picker>
  218. </p>
  219. <p class="input-dialog-p">任务完成日期</p>
  220. <p class="input-dialog-p2">
  221. <el-date-picker
  222. clearable
  223. value-format="yyyyMMdd"
  224. type="daterange"
  225. size="mini"
  226. v-model="rwwcrq"
  227. style="width:200px"
  228. range-separator="-"
  229. start-placeholder
  230. end-placeholder
  231. ></el-date-picker>
  232. </p>
  233. <!-- <el-input
  234. @change='Index4'
  235. clearable
  236. placeholder='异常工单编号'
  237. size='small'
  238. prefix-icon='el-icon-search'
  239. v-model='ycgdbhInput5'
  240. style='margin-right:12px;width:220px;'
  241. ></el-input>-->
  242. <p class="input-dialog-p">异常工单编号</p>
  243. <p class="input-dialog-p2">
  244. <el-input
  245. clearable
  246. placeholder="异常工单编号"
  247. size="small"
  248. prefix-icon="el-icon-search"
  249. v-model="ycgdbhInput5"
  250. style="width:200px;"
  251. ></el-input>
  252. </p>
  253. <p class="input-dialog-p">异常工单填报日期</p>
  254. <p class="input-dialog-p2">
  255. <el-date-picker
  256. clearable
  257. value-format="yyyyMMdd"
  258. type="daterange"
  259. size="mini"
  260. v-model="ycgdtbsj"
  261. style="width:200px"
  262. range-separator="-"
  263. start-placeholder
  264. end-placeholder
  265. ></el-date-picker>
  266. </p>
  267. <p class="input-dialog-p">异常工单验收日期</p>
  268. <p class="input-dialog-p2">
  269. <el-date-picker
  270. clearable
  271. value-format="yyyyMMdd"
  272. type="daterange"
  273. size="mini"
  274. style="width:200px"
  275. range-separator="-"
  276. start-placeholder
  277. end-placeholder
  278. v-model="ycgdyssj"
  279. ></el-date-picker>
  280. </p>
  281. <p class="input-dialog-foot">
  282. <el-button @click="dialogFormVisible = false" size="mini">取 消</el-button>
  283. <el-button type="primary" @click="confirm2" size="mini">确 定</el-button>
  284. </p>
  285. </div>
  286. </div>
  287. </div>
  288. <room-table5
  289. ref="roomTable5"
  290. v-if="table5.length>=0"
  291. :table5="table5"
  292. :loading="loading4"
  293. :page="page4"
  294. :total="total4"
  295. :size="size4"
  296. @Index4Emit="Index4Emit"
  297. ></room-table5>
  298. </el-tab-pane>
  299. <el-tab-pane label="核心设备日常维修" name="4">
  300. <div class="compute-center">
  301. <el-input
  302. placeholder="搜索设备名称或内码"
  303. size="small"
  304. @keyup.enter.native="Index3Emit(1)"
  305. @blur="Index3Emit(1)"
  306. clearable
  307. prefix-icon="el-icon-search"
  308. v-model="sbjc"
  309. style="width:192px;margin-right:12px"
  310. ></el-input>
  311. <el-input
  312. placeholder="搜索位置名称或内码"
  313. size="small"
  314. @keyup.enter.native="Index3Emit(1)"
  315. @blur="Index3Emit(1)"
  316. clearable
  317. prefix-icon="el-icon-search"
  318. v-model="wzjc"
  319. style="width:192px;margin-right:12px"
  320. ></el-input>
  321. <el-input
  322. placeholder="搜索描述"
  323. size="small"
  324. clearable
  325. @keyup.enter.native="Index3Emit(1)"
  326. @blur="Index3Emit(1)"
  327. prefix-icon="el-icon-search"
  328. v-model="matters"
  329. style="width:192px;margin-right:12px"
  330. ></el-input>
  331. <el-input
  332. placeholder="搜索工单编号"
  333. size="small"
  334. clearable
  335. @keyup.enter.native="Index3Emit(1)"
  336. @blur="Index3Emit(1)"
  337. prefix-icon="el-icon-search"
  338. v-model="wonum2"
  339. style="width:192px;margin-right:12px"
  340. ></el-input>
  341. <Select
  342. @change="confirmMore"
  343. @confirm="confirmMore"
  344. style="margin-right:12px;"
  345. v-model="statue"
  346. width="200"
  347. tipPlace="top"
  348. caption="任务状态描述:"
  349. multiple
  350. :selectdata="statusOption"
  351. ></Select>
  352. <Select
  353. @change="Index3Emit(1)"
  354. style="margin-right:12px;"
  355. v-model="source"
  356. width="180"
  357. tipPlace="top"
  358. caption="报修来源:"
  359. :selectdata="sourceOption"
  360. ></Select>
  361. </div>
  362. <div class="dialog-none">
  363. <div class="input-dialog">
  364. <div class="input-dialog-top" @click="show">
  365. <img src="@/assets/imgs/select.png" />
  366. 筛选
  367. </div>
  368. <div class="input-dialog-form" v-if="dialogFormVisible">
  369. <el-form style=" padding: 20px 24px;">
  370. <p style="margin:16px 0 8px 0">要求完成日期</p>
  371. <el-date-picker
  372. clearable
  373. style="width:232px"
  374. v-model="inputForm.reportdate"
  375. value-format="yyyyMMdd"
  376. type="daterange"
  377. size="small"
  378. range-separator="-"
  379. start-placeholder
  380. end-placeholder
  381. ></el-date-picker>
  382. <p style="margin:16px 0 8px 0">实际完工日期</p>
  383. <el-date-picker
  384. clearable
  385. style="width:232px"
  386. v-model="inputForm.real"
  387. value-format="yyyyMMdd"
  388. type="daterange"
  389. size="small"
  390. range-separator="-"
  391. start-placeholder
  392. end-placeholder
  393. ></el-date-picker>
  394. <!-- <p style="margin:16px 0 8px 0">位置名称编号</p>
  395. <el-input
  396. placeholder="搜索位置名称编号"
  397. size="small"
  398. clearable
  399. prefix-icon="el-icon-search"
  400. v-model="inputForm.locationName"
  401. style="width:232px;margin-right:12px"
  402. ></el-input>-->
  403. <p style="margin:16px 0 8px 0">搜索执行人</p>
  404. <el-input
  405. placeholder="搜索执行人"
  406. size="small"
  407. clearable
  408. prefix-icon="el-icon-search"
  409. v-model="inputForm.people"
  410. style="width:192px;margin-right:12px"
  411. ></el-input>
  412. </el-form>
  413. <div style="position:absolute;bottom:14px;right:24px;z-index:9999">
  414. <el-button @click="dialogFormVisible = false" size="small">取 消</el-button>
  415. <el-button type="primary" @click="confirm" size="small">确 定</el-button>
  416. </div>
  417. </div>
  418. </div>
  419. </div>
  420. <room-table4
  421. ref="roomTable4"
  422. v-if="table4.length>=0"
  423. :table4="table4"
  424. :loading="loading3"
  425. :page="page3"
  426. :total="total3"
  427. :size="size3"
  428. :sjjssj="sjjssj"
  429. @Index3Emit="Index3Emit"
  430. ></room-table4>
  431. </el-tab-pane>
  432. </el-tabs>
  433. </div>
  434. </el-dialog>
  435. </div>
  436. </template>
  437. <script>
  438. import moment from "moment";
  439. import { queryEquipmentList, queryWxzy } from "@/api/equipmentList.js";
  440. import {
  441. queryDygjcxline,
  442. queryHxsb,
  443. queryWxjf,
  444. queryWb,
  445. querySystem
  446. } from "@/api/room.js";
  447. import roomTable1 from "./room1";
  448. import roomTable2 from "./room2";
  449. import roomTable3 from "./room3";
  450. import roomTable4 from "./room4";
  451. import roomTable5 from "./room5";
  452. import { mapGetters } from "vuex";
  453. import { querySelect, queryPic } from "@/api/public.js";
  454. import { Select } from "meri-design";
  455. export default {
  456. data() {
  457. return {
  458. content: "",
  459. activeName: "1",
  460. location: "",
  461. visible: false,
  462. dialogFormVisible: false,
  463. systemName: "",
  464. loading: true,
  465. loading1: true,
  466. loading2: true,
  467. loading3: true,
  468. loading4: true,
  469. table2: [],
  470. table3: [],
  471. table4: [],
  472. table5: [],
  473. showLocationflid: false,
  474. //
  475. total: 0,
  476. page: 1,
  477. size: 10,
  478. picFloor: "",
  479. tableImg: [],
  480. //
  481. total1: 0,
  482. page1: 1,
  483. size1: 10,
  484. floor2: "全部",
  485. ctbhInput: "",
  486. cxggInput: "",
  487. djbhInput: "",
  488. kzhlInput: "",
  489. //
  490. total2: 0,
  491. page2: 1,
  492. size2: 10,
  493. sccsInput: "",
  494. ppxhInput: "",
  495. sbjcInput: "",
  496. // floorChange: '',
  497. //
  498. total3: 0,
  499. page3: 1,
  500. size3: 11,
  501. tbsjDate: "",
  502. yssjDate: "",
  503. sbjc: "",
  504. matters: "",
  505. wonum2: "",
  506. wonum: "",
  507. sourceOption: [],
  508. source: "全部",
  509. people: "",
  510. // 是否更换配件
  511. isReplaceData: [
  512. { id: "全部", name: "全部" },
  513. { id: "1", name: "是" },
  514. { id: "0", name: "否" }
  515. ],
  516. sfghSelect: "全部",
  517. sbmcInput4: "",
  518. sbbhInput4: "",
  519. zysxInput4: "",
  520. msInput4: "",
  521. gdbhInput4: "",
  522. type1: "wx",
  523. //
  524. total4: 0,
  525. page4: 1,
  526. size4: 11,
  527. searVal: "",
  528. status: [],
  529. allArr: [{ id: "全部", name: "全部" }],
  530. zt: [
  531. { id: "全部", name: "全部" },
  532. { id: "正常", name: "正常" },
  533. { name: "异常", id: "异常" }
  534. ],
  535. sbmcInput5: "",
  536. sbbhInput5: "",
  537. wbsxjlInput5: "",
  538. rwbhInput5: "",
  539. ycgdbhInput5: "",
  540. ssmsInput5: "",
  541. iszcSelect5: "全部",
  542. statuSelect5: "全部",
  543. rwksrq: "",
  544. rwwcrq: "",
  545. ycgdtbsj: "",
  546. ycgdyssj: "",
  547. smsxtArr: {},
  548. type: "",
  549. inputForm: {
  550. reportdate: "",
  551. real: "",
  552. locationName: "",
  553. people: ''
  554. },
  555. sjjssj: "",
  556. real: "",
  557. statue: [],
  558. getStatue: [
  559. "新建",
  560. "待派工",
  561. "已派工",
  562. "待验收",
  563. "验收通过",
  564. "工单执行退回",
  565. "问题待解决",
  566. "执行中"
  567. ], //默认选项如果statusOption存在则写入statue中
  568. wzjc: "",
  569. statusOption: []
  570. };
  571. },
  572. components: {
  573. roomTable1,
  574. roomTable2,
  575. roomTable3,
  576. roomTable4,
  577. roomTable5
  578. },
  579. computed: {
  580. ...mapGetters(["floorSelect", "plazaId"])
  581. },
  582. methods: {
  583. /**
  584. * @description 清楚筛选条件
  585. * @param {number} key 点击的tab页
  586. * 1 : 机房布置图,
  587. 2 : 配电室低压柜及出线明细表,
  588. 3 : 机房内核心设备,
  589. 4 : 核心设备日常维修,
  590. 5: 核心设备日常维保
  591. */
  592. clearQuery(key){
  593. switch (key) {
  594. case 4:
  595. this.reportdate = '' //要求完成日期
  596. this.real = '' //时间完成日期
  597. this.people = '' //填报人
  598. this.$set(this.inputForm,'reportdate','') //要求完成日期
  599. this.$set(this.inputForm,'real','') //时间完成日期
  600. this.$set(this.inputForm,'people','') //搜索执行人
  601. break;
  602. case 5:
  603. this.rwksrq = '' //任务开始日期
  604. this.rwwcrq = '' //任务完成日期
  605. this.ycgdbhInput5 = '' //异常工单编号
  606. this.ycgdtbsj = '' //异常工单填报日期
  607. this.ycgdyssj = '' //异常工单验收日期
  608. default:
  609. break;
  610. }
  611. },
  612. handleClick(tab) {
  613. // 关闭右侧筛选弹窗
  614. this.dialogFormVisible = false
  615. const tabDict = {
  616. '机房布置图': 1,
  617. '配电室低压柜及出线明细表': 2,
  618. '机房内核心设备': 3,
  619. '核心设备日常维修': 4,
  620. '核心设备日常维保' :5
  621. }
  622. // 清空筛选条件
  623. this.clearQuery(tabDict[tab.label])
  624. if (tab.label == "机房布置图") {
  625. this.Index(this.smsxtArr.smsxt);
  626. } else if (tab.label == "配电室低压柜及出线明细表") {
  627. this.Index1Emit(1);
  628. this.$refs.roomTable2.computedHeight();
  629. } else if (tab.label == "机房内核心设备") {
  630. this.Index2();
  631. this.$refs.roomTable3.computedHeight();
  632. } else if (tab.label == "核心设备日常维修") {
  633. this.changeSelect("核心设备日常维修");
  634. // this.$refs.roomTable4.computedHeight();
  635. } else if (tab.label == "核心设备日常维保") {
  636. this.changeSelect("核心设备日常维保");
  637. this.$refs.roomTable5.computedHeight();
  638. }
  639. },
  640. // 右上角的筛选点击按钮
  641. show() {
  642. this.dialogFormVisible = !this.dialogFormVisible;
  643. },
  644. Index(system) {
  645. this.picFloor = this.$cookie.get("floorNow");
  646. let getParams = {
  647. typename: "位置布置图",
  648. location: this.location,
  649. module: "1002",
  650. // system: system,
  651. plazaId: this.plazaId
  652. };
  653. if (system) {
  654. getParams.system = system;
  655. }
  656. queryPic({ getParams }).then(res => {
  657. //console.log('机房布置图', res)
  658. this.tableImg = res.data ? res.data : [];
  659. //判断有没有图片,有图片默认显示按钮是第一个tab,没有图片显示的是第二个tab
  660. if (this.tableImg.length > 0) {
  661. this.activeName = "1";
  662. } else if (this.showLocationflid) {
  663. this.activeName = "2";
  664. this.Index1();
  665. } else {
  666. this.activeName = "3";
  667. this.Index2();
  668. }
  669. });
  670. },
  671. // 明细表
  672. Index1() {
  673. let getParams = {
  674. location: this.location,
  675. plazaId: this.plazaId,
  676. page: this.page1,
  677. size: this.size1
  678. };
  679. if (this.floor2 && this.floor2 != "全部") {
  680. getParams.floor = this.floor2;
  681. }
  682. if (this.ctbhInput) {
  683. if (getParams.keyword) {
  684. getParams.keyword = `${getParams.keyword +
  685. ";" +
  686. this.ctbhInput}:drawernum`;
  687. } else {
  688. getParams.keyword = `${this.ctbhInput}:drawernum`;
  689. }
  690. }
  691. if (this.cxggInput) {
  692. if (getParams.keyword) {
  693. getParams.keyword = `${getParams.keyword +
  694. ";" +
  695. this.cxggInput}:outspec`;
  696. } else {
  697. getParams.keyword = `${this.cxggInput}:outspec`;
  698. }
  699. }
  700. if (this.djbhInput) {
  701. if (getParams.keyword) {
  702. getParams.keyword = `${getParams.keyword +
  703. ";" +
  704. this.djbhInput}:wellnum`;
  705. } else {
  706. getParams.keyword = `${this.djbhInput}:wellnum`;
  707. }
  708. }
  709. if (this.kzhlInput) {
  710. if (getParams.keyword) {
  711. getParams.keyword = `${getParams.keyword +
  712. ";" +
  713. this.kzhlInput}:control`;
  714. } else {
  715. getParams.keyword = `${this.kzhlInput}:control`;
  716. }
  717. }
  718. queryDygjcxline({ getParams }).then(res => {
  719. if (res.result == "success") {
  720. this.loading1 = false;
  721. this.total1 = res.count;
  722. this.table2 = res.data ? res.data : [];
  723. //console.log('明细表', res)
  724. if (this.table2.length == 0) {
  725. }
  726. }
  727. });
  728. },
  729. // 核心设备
  730. Index2() {
  731. let postParams = {
  732. location: this.location,
  733. system_code: this.smsxtArr.smsxt
  734. };
  735. let data = {
  736. plazaId: this.plazaId,
  737. page: this.page2,
  738. size: this.size2
  739. };
  740. if (this.smsxtArr.smsxt != "1008") {
  741. data.onlyMainAsset = true;
  742. }
  743. if (this.sbjcInput) {
  744. if (data.keyword) {
  745. data.keyword = `${data.keyword + ";" + this.sbjcInput}:type_name`;
  746. } else {
  747. data.keyword = `${this.sbjcInput}:type_name`;
  748. }
  749. }
  750. if (this.ppxhInput) {
  751. if (data.keyword) {
  752. data.keyword = `${data.keyword + ";" + this.ppxhInput}:brand,sbxh`;
  753. } else {
  754. data.keyword = `${this.ppxhInput}:brand,sbxh`;
  755. }
  756. }
  757. if (this.sccsInput) {
  758. if (data.keyword) {
  759. data.keyword = `${data.keyword + ";" + this.sccsInput}:manufacturer`;
  760. } else {
  761. data.keyword = `${this.sccsInput}:manufacturer`;
  762. }
  763. }
  764. // if (this.floorChange) {
  765. // postParams.gcname = this.floorChange
  766. // }
  767. queryHxsb({ data, postParams }).then(res => {
  768. this.loading2 = false;
  769. this.total2 = res.data.count;
  770. this.table3 = res.data.data ? res.data.data : [];
  771. });
  772. },
  773. Index1Emit(val) {
  774. this.page1 = val;
  775. this.Index1();
  776. },
  777. Index2Emit(val) {
  778. this.page2 = val;
  779. this.Index2();
  780. },
  781. Index3Emit(val) {
  782. this.page3 = val;
  783. this.Index3();
  784. },
  785. confirmMore(val) {
  786. const arr = [];
  787. val.forEach(item => {
  788. arr.push(item.id);
  789. });
  790. this.statue = arr;
  791. this.Index3Emit(1);
  792. },
  793. Index4Emit(val) {
  794. this.page4 = val;
  795. this.Index4();
  796. },
  797. // 机房维修记录
  798. Index3() {
  799. let getParams = {
  800. data: {
  801. smsxt: this.smsxtArr.smsxt,
  802. // diff: this.diff,
  803. plazaId: this.plazaId,
  804. page: this.page3,
  805. size: this.size3
  806. }
  807. };
  808. if (this.smsxtArr.smsxt != "1008") {
  809. getParams.data.onlyMainAsset = true;
  810. }
  811. //下拉
  812. // 监听下拉框
  813. if (this.reportdate) {
  814. getParams.data.schedfinishStartDate = this.reportdate[0] + "000000";
  815. // getParams.data.schedfinishEndDate = this.reportdate[1] + "000000";
  816. getParams.data.schedfinishEndDate = moment(this.reportdate[1]).add(1, 'day').format('YYYYMMDD000000')
  817. }
  818. if (this.real) {
  819. getParams.data.wotjyssjStartDate = this.real[0] + "000000";
  820. // getParams.data.wotjyssjEndDate = this.real[1] + "000000";
  821. getParams.data.wotjyssjEndDate = moment(this.real[1]).add(1, 'day').format('YYYYMMDD000000')
  822. }
  823. if (this.source && this.source != "全部") {
  824. // getParams.data.bxfwlymc = this.source;
  825. getParams.data.bxfwly = this.source;
  826. }
  827. // if (this.statue && this.statue != "全部") {
  828. // getParams.data.status = this.statue;
  829. // }
  830. //输入框搜索
  831. getParams.data.keyword = "";
  832. if (this.sbjc) {
  833. getParams.data.keyword += `${this.sbjc}:sbmc,assetnum;`;
  834. }
  835. if (this.wzjc) {
  836. getParams.data.keyword += `${this.wzjc}:wzjc,location;`;
  837. }
  838. if (this.matters) {
  839. getParams.data.keyword += `${this.matters}:description;`;
  840. }
  841. if (this.locationName) {
  842. getParams.data.keyword += `${this.locationName}:location`;
  843. }
  844. if (this.wonum2) {
  845. getParams.data.keyword += `${this.wonum2}:wonum;`;
  846. }
  847. if (this.people) {
  848. getParams.data.keyword += `${this.people}:lead;`;
  849. }
  850. if (getParams.data.keyword == "") {
  851. delete getParams.data.keyword;
  852. }
  853. if(this.statue.length){
  854. const data = {
  855. status: this.statue
  856. };
  857. getParams.getParams = data;
  858. }
  859. queryWxzy(getParams).then(res => {
  860. console.log('data4',res)
  861. this.loading4 = false;
  862. this.total3 = res.data.count || 0;
  863. this.table4 = res.data.data ? res.data.data : []
  864. });
  865. },
  866. // 机房维保记录
  867. Index4() {
  868. let data = {
  869. location: this.location,
  870. plazaId: this.plazaId,
  871. page: this.page4,
  872. size: this.size4,
  873. orderBy: "wb_gzglid,0;assetnum,1;reportedby,0;",
  874. smsxt: this.smsxtArr.smsxt
  875. };
  876. if (this.smsxtArr.smsxt != "1008") {
  877. data.onlyMainAsset = true;
  878. }
  879. //
  880. // 任务开始日期
  881. if (this.rwksrq) {
  882. data.sjkssjStartDate = this.rwksrq[0] + "000000";
  883. // data.sjkssjEndDate = this.rwksrq[1] + "000000";
  884. data.sjkssjEndDate = moment(this.rwksrq[1]).add(1, 'day').format('YYYYMMDD000000')
  885. }
  886. // 任务完成日期
  887. if (this.rwwcrq) {
  888. data.sjwcsjStartDate = this.rwwcrq[0] + "000000";
  889. // data.sjwcsjEndDate = this.rwwcrq[1] + "000000";
  890. data.sjwcsjEndDate = moment(this.rwwcrq[1]).add(1, 'day').format('YYYYMMDD000000')
  891. }
  892. // 异常工单填报时间
  893. if (this.ycgdtbsj) {
  894. data.reportdateStartDate = this.ycgdtbsj[0] + "000000";
  895. // data.reportdateEndDate = this.ycgdtbsj[1] + "000000";
  896. data.reportdateEndDate = moment(this.ycgdtbsj[1]).add(1, 'day').format('YYYYMMDD000000')
  897. }
  898. // 异常工单验收时间
  899. if (this.ycgdyssj) {
  900. data.sjjssjStartDate = this.ycgdyssj[0] + "000000";
  901. // data.sjjssjEndDate = this.ycgdyssj[1] + "000000";
  902. data.sjjssjEndDate = moment(this.ycgdyssj[1]).add(1, 'day').format('YYYYMMDD000000')
  903. }
  904. //
  905. // 是否正常
  906. if (this.iszcSelect5 && this.iszcSelect5 != "全部") {
  907. data.zt = this.iszcSelect5;
  908. }
  909. // 任务状态
  910. if (this.statuSelect5 && this.statuSelect5 != "全部") {
  911. data.status = this.statuSelect5;
  912. }
  913. if (this.sbmcInput5) {
  914. if (data.keyword) {
  915. data.keyword = `${data.keyword +
  916. ";" +
  917. this.sbmcInput5}:sbmc,assetnum;`;
  918. } else {
  919. data.keyword = `${this.sbmcInput5}:sbmc,assetnum;`;
  920. }
  921. }
  922. if (this.wbsxjlInput5) {
  923. if (data.keyword) {
  924. data.keyword = `${data.keyword + ";" + this.wbsxjlInput5}:matters;`;
  925. } else {
  926. data.keyword = `${this.wbsxjlInput5}:matters,description;`;
  927. }
  928. }
  929. if (this.rwbhInput5) {
  930. if (data.keyword) {
  931. data.keyword = `${data.keyword + ";" + this.rwbhInput5}:wb_gzglid;`;
  932. } else {
  933. data.keyword = `${this.rwbhInput5}:wb_gzglid;`;
  934. }
  935. }
  936. if (this.ycgdbhInput5) {
  937. if (data.keyword) {
  938. data.keyword = `${data.keyword + ";" + this.ycgdbhInput5}:wonum;`;
  939. } else {
  940. data.keyword = `${this.ycgdbhInput5}:wonum;`;
  941. }
  942. }
  943. queryWb({ getParams: data }).then(res => {
  944. //console.log('维保', res)
  945. this.loading4 = false;
  946. this.total4 = res.count;
  947. this.table5 = res.data ? res.data : [];
  948. });
  949. },
  950. confirm() {
  951. this.dialogFormVisible = false
  952. this.reportdate = this.inputForm.reportdate;
  953. this.sjjssj = this.inputForm.real;
  954. this.real = this.inputForm.real;
  955. this.locationName = this.inputForm.locationName;
  956. this.people = this.inputForm.people;
  957. this.Index3Emit(1);
  958. },
  959. confirm2() {
  960. this.dialogFormVisible = false
  961. this.Index4Emit(1);
  962. },
  963. // 下拉框数据
  964. changeSelect(val) {
  965. // 1保修来源
  966. let postParams = [
  967. {
  968. columnName: { bxfwly: "bxfwlymc" },
  969. params: {
  970. smsxt: this.smsxtArr.smsxt
  971. },
  972. tableName: "sms_wxzy" //视图名称
  973. }
  974. ];
  975. let data = {
  976. plazaId: this.plazaId
  977. };
  978. if (this.smsxtArr.smsxt != "1008") {
  979. data.onlyMainAsset = true;
  980. }
  981. querySelect({ data, postParams }).then(res => {
  982. //console.log(res)
  983. let bxfwlymc =
  984. res.data && res.data.data && res.data.data.sms_wxzy
  985. ? res.data.data.sms_wxzy.bxfwly
  986. : [];
  987. this.sourceOption = [];
  988. this.sourceOption.push({
  989. name: "全部",
  990. id: "全部"
  991. });
  992. bxfwlymc.forEach(el => {
  993. this.sourceOption.push({
  994. name: el.value,
  995. id: el.key
  996. });
  997. });
  998. });
  999. // 2维修任务状态
  1000. let postParams2 = [
  1001. {
  1002. columnName: { status: "status" },
  1003. params: {
  1004. smsxt: this.smsxtArr.smsxt
  1005. },
  1006. tableName: "sms_wxzy" //视图名称
  1007. }
  1008. ];
  1009. querySelect({ data, postParams: postParams2 }).then(res => {
  1010. let bxfwlymc =
  1011. res.data && res.data.data && res.data.data.sms_wxzy
  1012. ? res.data.data.sms_wxzy.status
  1013. : [];
  1014. this.statusOption = [];
  1015. // this.statusOption.push({
  1016. // name: "全部",
  1017. // id: "全部"
  1018. // });
  1019. bxfwlymc.forEach(el => {
  1020. this.statusOption.push({
  1021. name: el.value,
  1022. id: el.key
  1023. });
  1024. });
  1025. let statue = [];
  1026. this.statusOption.forEach(item => {
  1027. if (this.getStatue.includes(item.id)) {
  1028. statue.push(item.id);
  1029. }
  1030. });
  1031. this.statue = statue;
  1032. if (val == "核心设备日常维修") {
  1033. this.Index3Emit(1);
  1034. this.$refs.roomTable4.computedHeight();
  1035. } else {
  1036. this.Index4Emit(1);
  1037. }
  1038. });
  1039. // 2维保任务状态
  1040. let postParams3 = [
  1041. {
  1042. columnName: { status: "status" },
  1043. params: {
  1044. smsxt: this.smsxtArr.smsxt
  1045. },
  1046. tableName: "sms_wbzy" //视图名称
  1047. }
  1048. ];
  1049. querySelect({ data, postParams: postParams3 }).then(res => {
  1050. let status =
  1051. res.data && res.data.data && res.data.data.sms_wbzy
  1052. ? res.data.data.sms_wbzy.status
  1053. : [];
  1054. this.status = [];
  1055. this.status.push({
  1056. name: "全部",
  1057. id: "全部"
  1058. });
  1059. status.forEach(el => {
  1060. this.status.push({
  1061. name: el.value,
  1062. id: el.key
  1063. });
  1064. });
  1065. });
  1066. },
  1067. // 查询楼层功能下的机房属于哪类设备
  1068. init() {
  1069. this.smsxtArr = {};
  1070. let params = {
  1071. getParams: {
  1072. locationid: this.location,
  1073. plazaId: this.plazaId
  1074. }
  1075. };
  1076. querySystem(params).then(res => {
  1077. this.smsxtArr = res.data ? res.data[0] : {};
  1078. // 5201 设备间 5204设备间 5209设备间
  1079. this.showLocationflid = false;
  1080. if (Object.keys(this.smsxtArr).length > 0) {
  1081. let locationflid = this.smsxtArr.locationflid;
  1082. if (
  1083. locationflid == "5201" ||
  1084. locationflid == "5204" ||
  1085. locationflid == "5209"
  1086. ) {
  1087. this.showLocationflid = true;
  1088. }
  1089. }
  1090. this.Index(this.smsxtArr.smsxt);
  1091. this.content = `查看${this.$cookie.get("floorNow")}层${
  1092. this.smsxtArr.smsxtname
  1093. }分布图`;
  1094. });
  1095. },
  1096. // 打开机房弹框
  1097. open(name) {
  1098. this.visible = true;
  1099. this.systemName = name.name;
  1100. this.location = name.location;
  1101. this.type = name.type;
  1102. if (name.type == "floor") {
  1103. this.init();
  1104. } else if (name.type == "system") {
  1105. let floor = this.$cookie.get("floorNow");
  1106. this.content = `查看${floor}层楼层功能图`;
  1107. this.init();
  1108. // this.Index(null)
  1109. }
  1110. },
  1111. // 初始化page页
  1112. initPage() {
  1113. this.page1 = 1;
  1114. this.page2 = 1;
  1115. this.page3 = 1;
  1116. this.page4 = 1;
  1117. },
  1118. // 机房右上角的跳转 如果是在楼层功能打开的机房则要跳转到设备设施对应的系统\楼层 反之亦然
  1119. jumpFloor() {
  1120. // if (this.smsxtArr.smsxt) {
  1121. this.initPage();
  1122. if (location.pathname.split("/")[3] == "equipment") {
  1123. this.$cookie.set("categoryId", "LCGN", 3);
  1124. this.$store.commit("SETCATEGORYID", "LCGN");
  1125. this.$router.push({ path: "/home/floorFunc" });
  1126. } else {
  1127. this.$router.push({
  1128. path: "/home/equipment",
  1129. query: { smsxt: this.smsxtArr.smsxt }
  1130. });
  1131. }
  1132. // }
  1133. }
  1134. },
  1135. mounted() {
  1136. if (this.floorSelect.length > 0) {
  1137. this.floorSelect2 = this.allArr.concat(this.floorSelect);
  1138. }
  1139. },
  1140. watch: {
  1141. visible(val) {
  1142. // 关闭弹窗,page初始化为1
  1143. if (!val) {
  1144. this.initPage();
  1145. }
  1146. }
  1147. }
  1148. };
  1149. </script>
  1150. <style lang="less" scoped>
  1151. .compute-box {
  1152. /deep/ .el-dialog__title {
  1153. color: #fff;
  1154. }
  1155. .compute-zf {
  1156. width: 15px;
  1157. height: 13px;
  1158. background: url("../../assets/imgs/zffz.png");
  1159. background-repeat: no-repeat;
  1160. background-size: 100% 100%;
  1161. position: absolute;
  1162. right: 74px;
  1163. top: 24px;
  1164. cursor: pointer;
  1165. &::after {
  1166. content: "";
  1167. position: absolute;
  1168. top: -2px;
  1169. right: -16px;
  1170. width: 1px;
  1171. height: 15px;
  1172. background: rgba(216, 216, 216, 1);
  1173. }
  1174. }
  1175. .picker-box {
  1176. display: flex;
  1177. align-items: center;
  1178. background: #fff;
  1179. padding: 0 6px;
  1180. border: 1px solid #dcdfe6;
  1181. border-radius: 4px;
  1182. height: 32px;
  1183. box-sizing: border-box;
  1184. margin-right: 12px;
  1185. .picker-span {
  1186. margin-right: 6px;
  1187. color: rgba(0, 0, 0, 0.65);
  1188. }
  1189. }
  1190. .compute-span {
  1191. width: 100%;
  1192. height: 1px;
  1193. background: rgba(0, 0, 0, 0.06);
  1194. margin-bottom: 20px;
  1195. }
  1196. .compute-center {
  1197. display: flex;
  1198. align-items: center;
  1199. margin-bottom: 12px;
  1200. }
  1201. //
  1202. .dialog-none {
  1203. width: 100px;
  1204. position: absolute;
  1205. right: 0;
  1206. .input-dialog {
  1207. .input-dialog-top {
  1208. // color: #c3c7cb;
  1209. cursor: pointer;
  1210. position: absolute;
  1211. top: -45px;
  1212. right: 0px;
  1213. }
  1214. .input-dialog-form {
  1215. padding: 10px 24px 40px;
  1216. background: rgba(255, 255, 255, 1);
  1217. border-radius: 4px;
  1218. border: 1px solid rgba(195, 199, 203, 1);
  1219. z-index: 99999;
  1220. position: absolute;
  1221. top: -20px;
  1222. right: 0px;
  1223. }
  1224. .input-dialog-p {
  1225. margin-bottom: 8px;
  1226. font-size: 14px;
  1227. font-family: MicrosoftYaHei;
  1228. color: rgba(100, 108, 115, 1);
  1229. line-height: 22px;
  1230. }
  1231. .input-dialog-p2 {
  1232. margin-bottom: 16px;
  1233. }
  1234. }
  1235. .input-dialog-foot {
  1236. // margin-bottom: 16px;
  1237. display: flex;
  1238. justify-content: flex-end;
  1239. }
  1240. }
  1241. .compute-tab {
  1242. padding-top: 16px;
  1243. height: 100%;
  1244. }
  1245. }
  1246. </style>
  1247. <style lang="less">
  1248. .compute-box {
  1249. .el-dialog__header {
  1250. padding: 16px 24px;
  1251. background: linear-gradient(
  1252. 180deg,
  1253. rgba(54, 156, 247, 1) 0%,
  1254. rgba(2, 91, 170, 1) 100%
  1255. );
  1256. }
  1257. .el-dialog__headerbtn .el-dialog__close {
  1258. color: #fff;
  1259. }
  1260. /deep/ .el-dialog__body {
  1261. padding: 0 24px;
  1262. height: calc(100% - 57px);
  1263. .is-active {
  1264. background: rgba(2, 91, 170, 0.15);
  1265. }
  1266. }
  1267. .compute-tab {
  1268. /deep/ .el-dialog {
  1269. // padding: 16px 20px 20px;
  1270. overflow: hidden;
  1271. .el-dialog__header {
  1272. padding: 0;
  1273. font-size: 16px;
  1274. font-family: PingFangSC-Medium, PingFang SC;
  1275. font-weight: 500;
  1276. // color: rgba(0, 0, 0, 0.85);
  1277. height: 60px;
  1278. line-height: 60px;
  1279. // background: #f1f2f2;
  1280. padding-left: 20px;
  1281. // padding-bottom: 16px;
  1282. }
  1283. .el-dialog__headerbtn {
  1284. top: 0;
  1285. }
  1286. }
  1287. .el-dialog__title {
  1288. font-size: 16px;
  1289. font-family: PingFangSC-Medium, PingFang SC;
  1290. font-weight: 500;
  1291. color: #ffffff;
  1292. line-height: 60px;
  1293. }
  1294. .el-dialog__body {
  1295. padding: 0 24px;
  1296. }
  1297. .el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),
  1298. .el-tabs--bottom .el-tabs__item.is-top:nth-child(2),
  1299. .el-tabs--top .el-tabs__item.is-bottom:nth-child(2),
  1300. .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
  1301. padding-left: 16px;
  1302. }
  1303. .el-tabs--bottom .el-tabs__item.is-bottom:last-child,
  1304. .el-tabs--bottom .el-tabs__item.is-top:last-child,
  1305. .el-tabs--top .el-tabs__item.is-bottom:last-child,
  1306. .el-tabs--top .el-tabs__item.is-top:last-child {
  1307. padding-right: 16px;
  1308. }
  1309. .el-tabs__nav-wrap::after {
  1310. height: 0;
  1311. }
  1312. .el-tabs__item {
  1313. padding: 5px 16px;
  1314. height: 30px;
  1315. line-height: 22px;
  1316. font-size: 14px;
  1317. font-family: MicrosoftYaHei;
  1318. color: rgba(31, 36, 41, 1);
  1319. border: 1px solid rgba(195, 199, 203, 1);
  1320. }
  1321. /deep/ .el-tabs__item:last-child {
  1322. border-radius: 0px 4px 4px 0px;
  1323. }
  1324. /deep/ .el-tabs__item:nth-child(2) {
  1325. border-radius: 4px 0px 0px 4px;
  1326. }
  1327. .el-tabs {
  1328. height: 100%;
  1329. }
  1330. .el-tabs__content {
  1331. height: calc(100% - 45px);
  1332. /deep/ .el-tab-pane {
  1333. height: 100% !important;
  1334. .compute-item {
  1335. height: calc(100% - 44px);
  1336. .compute-table {
  1337. height: calc(100% - 71px);
  1338. }
  1339. }
  1340. }
  1341. }
  1342. .el-tabs__active-bar {
  1343. background-color: transparent !important;
  1344. }
  1345. .is-active {
  1346. color: #025baa;
  1347. border-color: #025baa;
  1348. }
  1349. .compute-table {
  1350. .el-table td,
  1351. .el-table th {
  1352. padding: 8px 0;
  1353. }
  1354. }
  1355. }
  1356. .el-input--suffix .el-input__inner {
  1357. padding-right: 20px;
  1358. }
  1359. .el-dialog__wrapper {
  1360. transition-duration: 0.3s;
  1361. }
  1362. .dialog-fade-enter-active {
  1363. animation: none !important;
  1364. }
  1365. .dialog-fade-leave-active {
  1366. transition-duration: 0.15s !important;
  1367. animation: none !important;
  1368. }
  1369. .dialog-fade-enter-active .el-dialog,
  1370. .dialog-fade-leave-active .el-dialog {
  1371. animation-fill-mode: forwards;
  1372. }
  1373. .dialog-fade-enter-active .el-dialog {
  1374. animation-duration: 0.3s;
  1375. animation-name: anim-open;
  1376. animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
  1377. }
  1378. .dialog-fade-leave-active .el-dialog {
  1379. animation-duration: 0.3s;
  1380. animation-name: anim-close;
  1381. }
  1382. @keyframes anim-open {
  1383. 0% {
  1384. opacity: 0;
  1385. transform: scale3d(0, 0, 1);
  1386. }
  1387. 100% {
  1388. opacity: 1;
  1389. transform: scale3d(1, 1, 1);
  1390. }
  1391. }
  1392. @keyframes anim-close {
  1393. 0% {
  1394. opacity: 1;
  1395. }
  1396. 100% {
  1397. opacity: 0;
  1398. transform: scale3d(0.5, 0.5, 1);
  1399. }
  1400. }
  1401. .picker-box {
  1402. .el-input__inner {
  1403. border: none;
  1404. }
  1405. .el-range-editor.el-input__inner {
  1406. padding: 3px 0px;
  1407. }
  1408. .el-icon-date {
  1409. display: none;
  1410. }
  1411. .el-range__close-icon {
  1412. position: absolute;
  1413. right: 0px;
  1414. top: 2px;
  1415. }
  1416. .el-range-editor--mini .el-range-input {
  1417. font-size: 14px;
  1418. color: rgb(31, 36, 41);
  1419. }
  1420. }
  1421. }
  1422. // compute-tab 1366px适配
  1423. // @media screen and (max-width: 1366px) {
  1424. // // 表格高度设置
  1425. // .compute-tab {
  1426. // .el-tabs,
  1427. // .el-tabs__content {
  1428. // height: 470px !important;
  1429. // }
  1430. // // 机房内核心设备 padding设置
  1431. // #pane-3 {
  1432. // .compute-table .el-table td,
  1433. // .compute-box .compute-table .el-table th {
  1434. // padding: 3px 0 !important;
  1435. // }
  1436. // }
  1437. // // 维修记录,维保记录 padding设置
  1438. // #pane-4,
  1439. // #pane-5 {
  1440. // .compute-table .el-table td,
  1441. // .compute-box .compute-table .el-table th {
  1442. // padding: 0 !important;
  1443. // }
  1444. // }
  1445. // }
  1446. // }
  1447. @media screen and (max-width: 1600px) {
  1448. // 表格高度设置
  1449. // .compute-tab {
  1450. // .el-tabs,
  1451. // .el-tabs__content {
  1452. // height: 600px !important;
  1453. // }
  1454. // }
  1455. .compute-box .compute-tab .compute-table .el-table td {
  1456. padding: 4px 0;
  1457. }
  1458. }
  1459. </style>