index.vue 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482
  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" v-if="smsxtArr.smsxt" @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. 5: 核心设备日常维保,
  590. 4 : 核心设备日常维修
  591. */
  592. clearQuery(key){
  593. switch (key) {
  594. case 2:
  595. let arr2 = ['ctbhInput','cxggInput','djbhInput','kzhlInput','floor2']
  596. arr2.map(item => this[item] = '')
  597. break;
  598. case 3:
  599. let arr3 = ['sbjcInput','ppxhInput','sccsInput']
  600. arr3.map(item => this[item] = '')
  601. break;
  602. case 5:
  603. let arr5 = ['sbmcInput5','wbsxjlInput5','rwbhInput5','rwksrq','rwwcrq','ycgdbhInput5','ycgdtbsj','ycgdyssj']
  604. this.statuSelect5 = '全部'
  605. this.iszcSelect5 = '全部'
  606. arr5.map(item => this[item] = '')
  607. break;
  608. case 4:
  609. let arr4 = ['sbjc','wzjc','matters','wonum2','reportdate','real','people']
  610. this.source = '全部'
  611. arr4.map(item => this[item] = '')
  612. this.$set(this.inputForm,'reportdate','') //要求完成日期
  613. this.$set(this.inputForm,'real','') //时间完成日期
  614. this.$set(this.inputForm,'people','') //搜索执行人
  615. break;
  616. default:
  617. break;
  618. }
  619. },
  620. handleClick(tab) {
  621. // 关闭右侧筛选弹窗
  622. this.dialogFormVisible = false
  623. const tabDict = {
  624. '机房布置图': 1,
  625. '配电室低压柜及出线明细表': 2,
  626. '机房内核心设备': 3,
  627. '核心设备日常维修': 4,
  628. '核心设备日常维保' :5
  629. }
  630. // 清空筛选条件
  631. this.clearQuery(tabDict[tab.label])
  632. if (tab.label == "机房布置图") {
  633. this.Index(this.smsxtArr.smsxt);
  634. } else if (tab.label == "配电室低压柜及出线明细表") {
  635. this.Index1Emit(1);
  636. this.$refs.roomTable2.computedHeight();
  637. } else if (tab.label == "机房内核心设备") {
  638. this.Index2();
  639. this.$refs.roomTable3.computedHeight();
  640. } else if (tab.label == "核心设备日常维修") {
  641. this.changeSelect("核心设备日常维修");
  642. // this.$refs.roomTable4.computedHeight();
  643. } else if (tab.label == "核心设备日常维保") {
  644. this.changeSelect("核心设备日常维保");
  645. this.$refs.roomTable5.computedHeight();
  646. }
  647. },
  648. // 右上角的筛选点击按钮
  649. show() {
  650. this.dialogFormVisible = !this.dialogFormVisible;
  651. },
  652. Index(system) {
  653. this.picFloor = this.$cookie.get("floorNow");
  654. let getParams = {
  655. typename: "位置布置图",
  656. location: this.location,
  657. module: "1002",
  658. // system: system,
  659. plazaId: this.plazaId
  660. };
  661. if (system) {
  662. getParams.system = system;
  663. }
  664. queryPic({ getParams }).then(res => {
  665. //console.log('机房布置图', res)
  666. this.tableImg = res.data ? res.data : [];
  667. //判断有没有图片,有图片默认显示按钮是第一个tab,没有图片显示的是第二个tab
  668. if (this.tableImg.length > 0) {
  669. this.activeName = "1";
  670. } else if (this.showLocationflid) {
  671. this.activeName = "2";
  672. this.Index1();
  673. } else {
  674. this.activeName = "3";
  675. this.Index2();
  676. }
  677. });
  678. },
  679. // 明细表
  680. Index1() {
  681. let getParams = {
  682. location: this.location,
  683. plazaId: this.plazaId,
  684. page: this.page1,
  685. size: this.size1
  686. };
  687. if (this.floor2 && this.floor2 != "全部") {
  688. getParams.floor = this.floor2;
  689. }
  690. if (this.ctbhInput) {
  691. if (getParams.keyword) {
  692. getParams.keyword = `${getParams.keyword +
  693. ";" +
  694. this.ctbhInput}:drawernum`;
  695. } else {
  696. getParams.keyword = `${this.ctbhInput}:drawernum`;
  697. }
  698. }
  699. if (this.cxggInput) {
  700. if (getParams.keyword) {
  701. getParams.keyword = `${getParams.keyword +
  702. ";" +
  703. this.cxggInput}:outspec`;
  704. } else {
  705. getParams.keyword = `${this.cxggInput}:outspec`;
  706. }
  707. }
  708. if (this.djbhInput) {
  709. if (getParams.keyword) {
  710. getParams.keyword = `${getParams.keyword +
  711. ";" +
  712. this.djbhInput}:wellnum`;
  713. } else {
  714. getParams.keyword = `${this.djbhInput}:wellnum`;
  715. }
  716. }
  717. if (this.kzhlInput) {
  718. if (getParams.keyword) {
  719. getParams.keyword = `${getParams.keyword +
  720. ";" +
  721. this.kzhlInput}:control`;
  722. } else {
  723. getParams.keyword = `${this.kzhlInput}:control`;
  724. }
  725. }
  726. queryDygjcxline({ getParams }).then(res => {
  727. if (res.result == "success") {
  728. this.loading1 = false;
  729. this.total1 = res.count;
  730. this.table2 = res.data ? res.data : [];
  731. //console.log('明细表', res)
  732. if (this.table2.length == 0) {
  733. }
  734. }
  735. });
  736. },
  737. // 核心设备
  738. Index2() {
  739. let postParams = {
  740. location: this.location,
  741. system_code: this.smsxtArr.smsxt
  742. };
  743. let data = {
  744. plazaId: this.plazaId,
  745. page: this.page2,
  746. size: this.size2
  747. };
  748. if (this.smsxtArr.smsxt != "1008") {
  749. data.onlyMainAsset = true;
  750. }
  751. if (this.sbjcInput) {
  752. if (data.keyword) {
  753. data.keyword = `${data.keyword + ";" + this.sbjcInput}:type_name`;
  754. } else {
  755. data.keyword = `${this.sbjcInput}:type_name`;
  756. }
  757. }
  758. if (this.ppxhInput) {
  759. if (data.keyword) {
  760. data.keyword = `${data.keyword + ";" + this.ppxhInput}:brand,sbxh`;
  761. } else {
  762. data.keyword = `${this.ppxhInput}:brand,sbxh`;
  763. }
  764. }
  765. if (this.sccsInput) {
  766. if (data.keyword) {
  767. data.keyword = `${data.keyword + ";" + this.sccsInput}:manufacturer`;
  768. } else {
  769. data.keyword = `${this.sccsInput}:manufacturer`;
  770. }
  771. }
  772. // if (this.floorChange) {
  773. // postParams.gcname = this.floorChange
  774. // }
  775. queryHxsb({ data, postParams }).then(res => {
  776. this.loading2 = false;
  777. this.total2 = res.data.count;
  778. this.table3 = res.data.data ? res.data.data : [];
  779. });
  780. },
  781. Index1Emit(val) {
  782. this.page1 = val;
  783. this.Index1();
  784. },
  785. Index2Emit(val) {
  786. this.page2 = val;
  787. this.Index2();
  788. },
  789. Index3Emit(val) {
  790. this.page3 = val;
  791. this.Index3();
  792. },
  793. confirmMore(val) {
  794. const arr = [];
  795. val.forEach(item => {
  796. arr.push(item.id);
  797. });
  798. this.statue = arr;
  799. this.Index3Emit(1);
  800. },
  801. Index4Emit(val) {
  802. this.page4 = val;
  803. this.Index4();
  804. },
  805. // 机房维修记录
  806. Index3() {
  807. let getParams = {
  808. data: {
  809. smsxt: this.smsxtArr.smsxt,
  810. // diff: this.diff,
  811. plazaId: this.plazaId,
  812. page: this.page3,
  813. size: this.size3
  814. }
  815. };
  816. if (this.smsxtArr.smsxt != "1008") {
  817. getParams.data.onlyMainAsset = true;
  818. }
  819. //下拉
  820. // 监听下拉框
  821. if (this.reportdate) {
  822. getParams.data.schedfinishStartDate = this.reportdate[0] + "000000";
  823. // getParams.data.schedfinishEndDate = this.reportdate[1] + "000000";
  824. getParams.data.schedfinishEndDate = moment(this.reportdate[1]).format('YYYYMMDD235959')
  825. }
  826. if (this.real) {
  827. getParams.data.wotjyssjStartDate = this.real[0] + "000000";
  828. // getParams.data.wotjyssjEndDate = this.real[1] + "000000";
  829. getParams.data.wotjyssjEndDate = moment(this.real[1]).format('YYYYMMDD235959')
  830. }
  831. if (this.source && this.source != "全部") {
  832. // getParams.data.bxfwlymc = this.source;
  833. getParams.data.bxfwly = this.source;
  834. }
  835. // if (this.statue && this.statue != "全部") {
  836. // getParams.data.status = this.statue;
  837. // }
  838. //输入框搜索
  839. getParams.data.keyword = "";
  840. if (this.sbjc) {
  841. getParams.data.keyword += `${this.sbjc}:sbmc,assetnum;`;
  842. }
  843. if (this.wzjc) {
  844. getParams.data.keyword += `${this.wzjc}:wzjc,location;`;
  845. }
  846. if (this.matters) {
  847. getParams.data.keyword += `${this.matters}:description;`;
  848. }
  849. if (this.locationName) {
  850. getParams.data.keyword += `${this.locationName}:location`;
  851. }
  852. if (this.wonum2) {
  853. getParams.data.keyword += `${this.wonum2}:wonum;`;
  854. }
  855. if (this.people) {
  856. getParams.data.keyword += `${this.people}:lead;`;
  857. }
  858. if (getParams.data.keyword == "") {
  859. delete getParams.data.keyword;
  860. }
  861. if(this.statue.length){
  862. const data = {
  863. status: this.statue
  864. };
  865. getParams.getParams = data;
  866. }
  867. queryWxzy(getParams).then(res => {
  868. console.log('data4',res)
  869. this.loading4 = false;
  870. this.total3 = res.data.count || 0;
  871. this.table4 = res.data.data ? res.data.data : []
  872. });
  873. },
  874. // 机房维保记录
  875. Index4() {
  876. let data = {
  877. location: this.location,
  878. plazaId: this.plazaId,
  879. page: this.page4,
  880. size: this.size4,
  881. orderBy: "wb_gzglid,0;assetnum,1;reportedby,0;",
  882. smsxt: this.smsxtArr.smsxt
  883. };
  884. if (this.smsxtArr.smsxt != "1008") {
  885. data.onlyMainAsset = true;
  886. }
  887. //
  888. // 任务开始日期
  889. if (this.rwksrq) {
  890. data.sjkssjStartDate = this.rwksrq[0] + "000000";
  891. // data.sjkssjEndDate = this.rwksrq[1] + "000000";
  892. data.sjkssjEndDate = moment(this.rwksrq[1]).format('YYYYMMDD235959')
  893. }
  894. // 任务完成日期
  895. if (this.rwwcrq) {
  896. data.sjwcsjStartDate = this.rwwcrq[0] + "000000";
  897. // data.sjwcsjEndDate = this.rwwcrq[1] + "000000";
  898. data.sjwcsjEndDate = moment(this.rwwcrq[1]).format('YYYYMMDD235959')
  899. }
  900. // 异常工单填报时间
  901. if (this.ycgdtbsj) {
  902. data.reportdateStartDate = this.ycgdtbsj[0] + "000000";
  903. // data.reportdateEndDate = this.ycgdtbsj[1] + "000000";
  904. data.reportdateEndDate = moment(this.ycgdtbsj[1]).format('YYYYMMDD235959')
  905. }
  906. // 异常工单验收时间
  907. if (this.ycgdyssj) {
  908. data.sjjssjStartDate = this.ycgdyssj[0] + "000000";
  909. // data.sjjssjEndDate = this.ycgdyssj[1] + "000000";
  910. data.sjjssjEndDate = moment(this.ycgdyssj[1]).format('YYYYMMDD235959')
  911. }
  912. //
  913. // 是否正常
  914. if (this.iszcSelect5 && this.iszcSelect5 != "全部") {
  915. data.zt = this.iszcSelect5;
  916. }
  917. // 任务状态
  918. if (this.statuSelect5 && this.statuSelect5 != "全部") {
  919. data.status = this.statuSelect5;
  920. }
  921. if (this.sbmcInput5) {
  922. if (data.keyword) {
  923. data.keyword = `${data.keyword +
  924. ";" +
  925. this.sbmcInput5}:sbmc,assetnum;`;
  926. } else {
  927. data.keyword = `${this.sbmcInput5}:sbmc,assetnum;`;
  928. }
  929. }
  930. if (this.wbsxjlInput5) {
  931. if (data.keyword) {
  932. data.keyword = `${data.keyword + ";" + this.wbsxjlInput5}:matters;`;
  933. } else {
  934. data.keyword = `${this.wbsxjlInput5}:matters,description;`;
  935. }
  936. }
  937. if (this.rwbhInput5) {
  938. if (data.keyword) {
  939. data.keyword = `${data.keyword + ";" + this.rwbhInput5}:wb_gzglid;`;
  940. } else {
  941. data.keyword = `${this.rwbhInput5}:wb_gzglid;`;
  942. }
  943. }
  944. if (this.ycgdbhInput5) {
  945. if (data.keyword) {
  946. data.keyword = `${data.keyword + ";" + this.ycgdbhInput5}:wonum;`;
  947. } else {
  948. data.keyword = `${this.ycgdbhInput5}:wonum;`;
  949. }
  950. }
  951. queryWb({ getParams: data }).then(res => {
  952. //console.log('维保', res)
  953. this.loading4 = false;
  954. this.total4 = res.count;
  955. this.table5 = res.data ? res.data : [];
  956. });
  957. },
  958. confirm() {
  959. this.dialogFormVisible = false
  960. this.reportdate = this.inputForm.reportdate;
  961. this.sjjssj = this.inputForm.real;
  962. this.real = this.inputForm.real;
  963. this.locationName = this.inputForm.locationName;
  964. this.people = this.inputForm.people;
  965. this.Index3Emit(1);
  966. },
  967. confirm2() {
  968. this.dialogFormVisible = false
  969. this.Index4Emit(1);
  970. },
  971. // 下拉框数据
  972. changeSelect(val) {
  973. // 1保修来源
  974. let postParams = [
  975. {
  976. columnName: { bxfwly: "bxfwlymc" },
  977. params: {
  978. smsxt: this.smsxtArr.smsxt
  979. },
  980. tableName: "sms_wxzy" //视图名称
  981. }
  982. ];
  983. let data = {
  984. plazaId: this.plazaId
  985. };
  986. if (this.smsxtArr.smsxt != "1008") {
  987. data.onlyMainAsset = true;
  988. }
  989. querySelect({ data, postParams }).then(res => {
  990. //console.log(res)
  991. let bxfwlymc =
  992. res.data && res.data.data && res.data.data.sms_wxzy
  993. ? res.data.data.sms_wxzy.bxfwly
  994. : [];
  995. this.sourceOption = [];
  996. this.sourceOption.push({
  997. name: "全部",
  998. id: "全部"
  999. });
  1000. bxfwlymc.forEach(el => {
  1001. this.sourceOption.push({
  1002. name: el.value,
  1003. id: el.key
  1004. });
  1005. });
  1006. });
  1007. // 2维修任务状态
  1008. let postParams2 = [
  1009. {
  1010. columnName: { status: "status" },
  1011. params: {
  1012. smsxt: this.smsxtArr.smsxt
  1013. },
  1014. tableName: "sms_wxzy" //视图名称
  1015. }
  1016. ];
  1017. querySelect({ data, postParams: postParams2 }).then(res => {
  1018. let bxfwlymc =
  1019. res.data && res.data.data && res.data.data.sms_wxzy
  1020. ? res.data.data.sms_wxzy.status
  1021. : [];
  1022. this.statusOption = [];
  1023. // this.statusOption.push({
  1024. // name: "全部",
  1025. // id: "全部"
  1026. // });
  1027. bxfwlymc.forEach(el => {
  1028. this.statusOption.push({
  1029. name: el.value,
  1030. id: el.key
  1031. });
  1032. });
  1033. let statue = [];
  1034. this.statusOption.forEach(item => {
  1035. if (this.getStatue.includes(item.id)) {
  1036. statue.push(item.id);
  1037. }
  1038. });
  1039. this.statue = statue;
  1040. if (val == "核心设备日常维修") {
  1041. this.Index3Emit(1);
  1042. this.$refs.roomTable4.computedHeight();
  1043. } else {
  1044. this.Index4Emit(1);
  1045. }
  1046. });
  1047. // 2维保任务状态
  1048. let postParams3 = [
  1049. {
  1050. columnName: { status: "status" },
  1051. params: {
  1052. smsxt: this.smsxtArr.smsxt
  1053. },
  1054. tableName: "sms_wbzy" //视图名称
  1055. }
  1056. ];
  1057. querySelect({ data, postParams: postParams3 }).then(res => {
  1058. let status =
  1059. res.data && res.data.data && res.data.data.sms_wbzy
  1060. ? res.data.data.sms_wbzy.status
  1061. : [];
  1062. this.status = [];
  1063. this.status.push({
  1064. name: "全部",
  1065. id: "全部"
  1066. });
  1067. status.forEach(el => {
  1068. this.status.push({
  1069. name: el.value,
  1070. id: el.key
  1071. });
  1072. });
  1073. });
  1074. },
  1075. // 查询楼层功能下的机房属于哪类设备
  1076. init() {
  1077. this.smsxtArr = {};
  1078. let params = {
  1079. getParams: {
  1080. locationid: this.location,
  1081. plazaId: this.plazaId
  1082. }
  1083. };
  1084. querySystem(params).then(res => {
  1085. this.smsxtArr = res.data ? res.data[0] : {};
  1086. // 5201 设备间 5204设备间 5209设备间
  1087. this.showLocationflid = false;
  1088. if (Object.keys(this.smsxtArr).length > 0) {
  1089. let locationflid = this.smsxtArr.locationflid;
  1090. if (
  1091. locationflid == "5201" ||
  1092. locationflid == "5204" ||
  1093. locationflid == "5209"
  1094. ) {
  1095. this.showLocationflid = true;
  1096. }
  1097. }
  1098. this.Index(this.smsxtArr.smsxt);
  1099. this.content = `查看${this.$cookie.get("floorNow")}层${
  1100. this.smsxtArr.smsxtname
  1101. }分布图`;
  1102. });
  1103. },
  1104. // 打开机房弹框
  1105. open(name) {
  1106. this.visible = true;
  1107. this.systemName = name.name;
  1108. this.location = name.location;
  1109. this.type = name.type;
  1110. if (name.type == "floor") {
  1111. this.init();
  1112. } else if (name.type == "system") {
  1113. let floor = this.$cookie.get("floorNow");
  1114. this.content = `查看${floor}层楼层功能图`;
  1115. this.init();
  1116. // this.Index(null)
  1117. }
  1118. },
  1119. // 初始化page页
  1120. initPage() {
  1121. this.page1 = 1;
  1122. this.page2 = 1;
  1123. this.page3 = 1;
  1124. this.page4 = 1;
  1125. },
  1126. // 机房右上角的跳转 如果是在楼层功能打开的机房则要跳转到设备设施对应的系统\楼层 反之亦然
  1127. jumpFloor() {
  1128. // if (this.smsxtArr.smsxt) {
  1129. this.initPage();
  1130. if (location.pathname.split("/")[3] == "equipment") {
  1131. this.$cookie.set("categoryId", "LCGN", 3);
  1132. this.$store.commit("SETCATEGORYID", "LCGN");
  1133. this.$router.push({ path: "/home/floorFunc" });
  1134. } else {
  1135. this.$router.push({
  1136. path: "/home/equipment",
  1137. query: { smsxt: this.smsxtArr.smsxt }
  1138. });
  1139. }
  1140. // }
  1141. }
  1142. },
  1143. mounted() {
  1144. if (this.floorSelect.length > 0) {
  1145. this.floorSelect2 = this.allArr.concat(this.floorSelect);
  1146. }
  1147. },
  1148. watch: {
  1149. visible(val) {
  1150. // 关闭弹窗,page初始化为1
  1151. if (!val) {
  1152. this.initPage();
  1153. }
  1154. }
  1155. }
  1156. };
  1157. </script>
  1158. <style lang="less" scoped>
  1159. .compute-box {
  1160. /deep/ .el-dialog__title {
  1161. color: #fff;
  1162. }
  1163. .compute-zf {
  1164. width: 15px;
  1165. height: 13px;
  1166. background: url("../../assets/imgs/zffz.png");
  1167. background-repeat: no-repeat;
  1168. background-size: 100% 100%;
  1169. position: absolute;
  1170. right: 74px;
  1171. top: 24px;
  1172. cursor: pointer;
  1173. &::after {
  1174. content: "";
  1175. position: absolute;
  1176. top: -2px;
  1177. right: -16px;
  1178. width: 1px;
  1179. height: 15px;
  1180. background: rgba(216, 216, 216, 1);
  1181. }
  1182. }
  1183. .picker-box {
  1184. display: flex;
  1185. align-items: center;
  1186. background: #fff;
  1187. padding: 0 6px;
  1188. border: 1px solid #dcdfe6;
  1189. border-radius: 4px;
  1190. height: 32px;
  1191. box-sizing: border-box;
  1192. margin-right: 12px;
  1193. .picker-span {
  1194. margin-right: 6px;
  1195. color: rgba(0, 0, 0, 0.65);
  1196. }
  1197. }
  1198. .compute-span {
  1199. width: 100%;
  1200. height: 1px;
  1201. background: rgba(0, 0, 0, 0.06);
  1202. margin-bottom: 20px;
  1203. }
  1204. .compute-center {
  1205. display: flex;
  1206. align-items: center;
  1207. margin-bottom: 12px;
  1208. }
  1209. //
  1210. .dialog-none {
  1211. width: 100px;
  1212. position: absolute;
  1213. right: 0;
  1214. .input-dialog {
  1215. .input-dialog-top {
  1216. // color: #c3c7cb;
  1217. cursor: pointer;
  1218. position: absolute;
  1219. top: -45px;
  1220. right: 0px;
  1221. }
  1222. .input-dialog-form {
  1223. padding: 10px 24px 40px;
  1224. background: rgba(255, 255, 255, 1);
  1225. border-radius: 4px;
  1226. border: 1px solid rgba(195, 199, 203, 1);
  1227. z-index: 99999;
  1228. position: absolute;
  1229. top: -20px;
  1230. right: 0px;
  1231. }
  1232. .input-dialog-p {
  1233. margin-bottom: 8px;
  1234. font-size: 14px;
  1235. font-family: MicrosoftYaHei;
  1236. color: rgba(100, 108, 115, 1);
  1237. line-height: 22px;
  1238. }
  1239. .input-dialog-p2 {
  1240. margin-bottom: 16px;
  1241. }
  1242. }
  1243. .input-dialog-foot {
  1244. // margin-bottom: 16px;
  1245. display: flex;
  1246. justify-content: flex-end;
  1247. }
  1248. }
  1249. .compute-tab {
  1250. padding-top: 16px;
  1251. height: 100%;
  1252. }
  1253. }
  1254. </style>
  1255. <style lang="less">
  1256. .compute-box {
  1257. .el-dialog__header {
  1258. padding: 16px 24px;
  1259. background: linear-gradient(
  1260. 180deg,
  1261. rgba(54, 156, 247, 1) 0%,
  1262. rgba(2, 91, 170, 1) 100%
  1263. );
  1264. }
  1265. .el-dialog__headerbtn .el-dialog__close {
  1266. color: #fff;
  1267. }
  1268. /deep/ .el-dialog__body {
  1269. padding: 0 24px;
  1270. height: calc(100% - 57px);
  1271. .is-active {
  1272. background: rgba(2, 91, 170, 0.15);
  1273. }
  1274. }
  1275. .compute-tab {
  1276. /deep/ .el-dialog {
  1277. // padding: 16px 20px 20px;
  1278. overflow: hidden;
  1279. .el-dialog__header {
  1280. padding: 0;
  1281. font-size: 16px;
  1282. font-family: PingFangSC-Medium, PingFang SC;
  1283. font-weight: 500;
  1284. // color: rgba(0, 0, 0, 0.85);
  1285. height: 60px;
  1286. line-height: 60px;
  1287. // background: #f1f2f2;
  1288. padding-left: 20px;
  1289. // padding-bottom: 16px;
  1290. }
  1291. .el-dialog__headerbtn {
  1292. top: 0;
  1293. }
  1294. }
  1295. .el-dialog__title {
  1296. font-size: 16px;
  1297. font-family: PingFangSC-Medium, PingFang SC;
  1298. font-weight: 500;
  1299. color: #ffffff;
  1300. line-height: 60px;
  1301. }
  1302. .el-dialog__body {
  1303. padding: 0 24px;
  1304. }
  1305. .el-tabs--bottom .el-tabs__item.is-bottom:nth-child(2),
  1306. .el-tabs--bottom .el-tabs__item.is-top:nth-child(2),
  1307. .el-tabs--top .el-tabs__item.is-bottom:nth-child(2),
  1308. .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
  1309. padding-left: 16px;
  1310. }
  1311. .el-tabs--bottom .el-tabs__item.is-bottom:last-child,
  1312. .el-tabs--bottom .el-tabs__item.is-top:last-child,
  1313. .el-tabs--top .el-tabs__item.is-bottom:last-child,
  1314. .el-tabs--top .el-tabs__item.is-top:last-child {
  1315. padding-right: 16px;
  1316. }
  1317. .el-tabs__nav-wrap::after {
  1318. height: 0;
  1319. }
  1320. .el-tabs__item {
  1321. padding: 5px 16px;
  1322. height: 30px;
  1323. line-height: 22px;
  1324. font-size: 14px;
  1325. font-family: MicrosoftYaHei;
  1326. color: rgba(31, 36, 41, 1);
  1327. border: 1px solid rgba(195, 199, 203, 1);
  1328. }
  1329. /deep/ .el-tabs__item:last-child {
  1330. border-radius: 0px 4px 4px 0px;
  1331. }
  1332. /deep/ .el-tabs__item:nth-child(2) {
  1333. border-radius: 4px 0px 0px 4px;
  1334. }
  1335. .el-tabs {
  1336. height: 100%;
  1337. }
  1338. .el-tabs__content {
  1339. height: calc(100% - 45px);
  1340. /deep/ .el-tab-pane {
  1341. height: 100% !important;
  1342. .compute-item {
  1343. height: calc(100% - 44px);
  1344. .compute-table {
  1345. height: calc(100% - 71px);
  1346. }
  1347. }
  1348. }
  1349. }
  1350. .el-tabs__active-bar {
  1351. background-color: transparent !important;
  1352. }
  1353. .is-active {
  1354. color: #025baa;
  1355. border-color: #025baa;
  1356. }
  1357. .compute-table {
  1358. .el-table td,
  1359. .el-table th {
  1360. padding: 8px 0;
  1361. }
  1362. }
  1363. }
  1364. .el-input--suffix .el-input__inner {
  1365. padding-right: 20px;
  1366. }
  1367. .el-dialog__wrapper {
  1368. transition-duration: 0.3s;
  1369. }
  1370. .dialog-fade-enter-active {
  1371. animation: none !important;
  1372. }
  1373. .dialog-fade-leave-active {
  1374. transition-duration: 0.15s !important;
  1375. animation: none !important;
  1376. }
  1377. .dialog-fade-enter-active .el-dialog,
  1378. .dialog-fade-leave-active .el-dialog {
  1379. animation-fill-mode: forwards;
  1380. }
  1381. .dialog-fade-enter-active .el-dialog {
  1382. animation-duration: 0.3s;
  1383. animation-name: anim-open;
  1384. animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
  1385. }
  1386. .dialog-fade-leave-active .el-dialog {
  1387. animation-duration: 0.3s;
  1388. animation-name: anim-close;
  1389. }
  1390. @keyframes anim-open {
  1391. 0% {
  1392. opacity: 0;
  1393. transform: scale3d(0, 0, 1);
  1394. }
  1395. 100% {
  1396. opacity: 1;
  1397. transform: scale3d(1, 1, 1);
  1398. }
  1399. }
  1400. @keyframes anim-close {
  1401. 0% {
  1402. opacity: 1;
  1403. }
  1404. 100% {
  1405. opacity: 0;
  1406. transform: scale3d(0.5, 0.5, 1);
  1407. }
  1408. }
  1409. .picker-box {
  1410. .el-input__inner {
  1411. border: none;
  1412. }
  1413. .el-range-editor.el-input__inner {
  1414. padding: 3px 0px;
  1415. }
  1416. .el-icon-date {
  1417. display: none;
  1418. }
  1419. .el-range__close-icon {
  1420. position: absolute;
  1421. right: 0px;
  1422. top: 2px;
  1423. }
  1424. .el-range-editor--mini .el-range-input {
  1425. font-size: 14px;
  1426. color: rgb(31, 36, 41);
  1427. }
  1428. }
  1429. }
  1430. // compute-tab 1366px适配
  1431. // @media screen and (max-width: 1366px) {
  1432. // // 表格高度设置
  1433. // .compute-tab {
  1434. // .el-tabs,
  1435. // .el-tabs__content {
  1436. // height: 470px !important;
  1437. // }
  1438. // // 机房内核心设备 padding设置
  1439. // #pane-3 {
  1440. // .compute-table .el-table td,
  1441. // .compute-box .compute-table .el-table th {
  1442. // padding: 3px 0 !important;
  1443. // }
  1444. // }
  1445. // // 维修记录,维保记录 padding设置
  1446. // #pane-4,
  1447. // #pane-5 {
  1448. // .compute-table .el-table td,
  1449. // .compute-box .compute-table .el-table th {
  1450. // padding: 0 !important;
  1451. // }
  1452. // }
  1453. // }
  1454. // }
  1455. @media screen and (max-width: 1600px) {
  1456. // 表格高度设置
  1457. // .compute-tab {
  1458. // .el-tabs,
  1459. // .el-tabs__content {
  1460. // height: 600px !important;
  1461. // }
  1462. // }
  1463. .compute-box .compute-tab .compute-table .el-table td {
  1464. padding: 4px 0;
  1465. }
  1466. }
  1467. </style>