血透系统pad前端

WaitingArea.vue 22KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734
  1. <template>
  2. <div>
  3. <div v-loading="loading">
  4. <div class="screening">
  5. <!--<div @click="reloads()">刷新</div>-->
  6. <ul>
  7. <li
  8. v-for="(item, i) in menuList"
  9. :class="select_index == i ? 'active' : ''"
  10. @click="menuTabClick(i)"
  11. :key="i"
  12. >
  13. {{ item.label + (item.count > 0 ? "(" + item.count + ")" : "") }}
  14. </li>
  15. <el-popover
  16. v-model="zone_options_visible"
  17. placement="bottom"
  18. trigger="click"
  19. >
  20. <li slot="reference">
  21. {{ zone_options[zone_selected].text }}
  22. <span class="iconfont">&#xe74a;</span>
  23. </li>
  24. <div class="popover-demo-content">
  25. <ul>
  26. <li
  27. v-for="(option, index) in zone_options"
  28. :key="index"
  29. @click="handleZoneChange(index, option)"
  30. :class="zone_selected == index ? 'tick' : ''"
  31. >
  32. {{ option.text }}
  33. </li>
  34. </ul>
  35. </div>
  36. </el-popover>
  37. <el-popover
  38. v-model="time_options_visible"
  39. placement="bottom"
  40. trigger="click"
  41. >
  42. <li slot="reference">
  43. {{ time_options[time_selected].text }}
  44. <span class="iconfont">&#xe74a;</span>
  45. </li>
  46. <div class="popover-demo-content">
  47. <ul>
  48. <li
  49. v-for="(option, index) in time_options"
  50. :key="index"
  51. @click="handleTimeChange(index)"
  52. :class="time_selected == index ? 'tick' : ''"
  53. >
  54. {{ option.text }}
  55. </li>
  56. </ul>
  57. </div>
  58. </el-popover>
  59. </ul>
  60. </div>
  61. <div class="stateBox">
  62. <!-- <patient-box class="clearfix" :patients="filtedScheduals "></patient-box> -->
  63. <div v-for="(item, index) in filtedScheduals" :key="index">
  64. <h2 class="title">{{ item.zone_name }}</h2>
  65. <patient-box
  66. class="clearfix"
  67. :patients="item.scheduals"
  68. ></patient-box>
  69. </div>
  70. <div class="NoData" v-if="filtedScheduals.length == 0 && networkStates">
  71. <img
  72. style="margin-top: 50px; margin-bottom: 50px"
  73. src="@/assets/login/data.jpg"
  74. alt
  75. />
  76. </div>
  77. <div
  78. class="NoData"
  79. v-if="!networkStates"
  80. style="display: block;text-align: center;"
  81. >
  82. <!--<img style="margin-top: 50px; margin-bottom: 50px" src="@/assets/login/no_network.jpg" alt="">-->
  83. <p style="margin-top: 100px;font-size: 18px">
  84. 网络异常,请点击重新加载
  85. </p>
  86. <van-button
  87. slot="button"
  88. size="normal"
  89. type="info"
  90. style="display:block;margin:0 auto"
  91. @click="reloads()"
  92. >重新加载</van-button
  93. >
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. </template>
  99. <script>
  100. import PatientBox from './PatientBox'
  101. import { getWaitingScheduals } from '@/api/dialysis'
  102. import { parseTime } from '@/utils'
  103. import { Popover } from 'vux'
  104. import { Toast } from 'vant'
  105. import {
  106. getSelectedAreaDataConfigList,
  107. getSelectedTimesDataConfigList,
  108. setSelectedAreaDataConfigList,
  109. setSelectedTimesDataConfigList,
  110. setWaitTypeSelectedConfig,
  111. getWaitTypeSelectedConfig
  112. } from '@/utils/data_config'
  113. export default {
  114. name: 'WaitingArea',
  115. components: {
  116. PatientBox,
  117. Popover
  118. },
  119. inject: ['reload'],
  120. data () {
  121. return {
  122. loading: false,
  123. menuList: [
  124. { value: '1', label: '全部', count: 0 },
  125. { value: '3', label: '待开处方', count: 0 },
  126. { value: '2', label: '待称重', count: 0 }
  127. ],
  128. select_index: 0,
  129. zone_selected: 0,
  130. time_selected: 0,
  131. cur_zone_selected: 0,
  132. networkStates: true,
  133. scheduals: [],
  134. timer:null,
  135. zone_options: [{ value: 0, text: '全部分区' }],
  136. zone_scheduals: [],
  137. time_options: [
  138. { value: 0, text: '全部班' },
  139. { value: 1, text: '上午' },
  140. { value: 2, text: '下午' },
  141. { value: 3, text: '晚上' }
  142. ],
  143. zone_options_visible: false,
  144. time_options_visible: false
  145. }
  146. },
  147. props: {
  148. search_keyword: {
  149. type: String
  150. }
  151. },
  152. computed: {
  153. filtedScheduals: function () {
  154. var search_keyword = this.search_keyword
  155. if (this.search_keyword.length > 0) {
  156. var scheduals = []
  157. for (let index = 0; index < this.scheduals.length; index++) {
  158. const schedual = this.scheduals[index]
  159. if (
  160. schedual.patient.name.indexOf(search_keyword) != -1 ||
  161. schedual.patient.dialysis_no.indexOf(search_keyword) != -1
  162. ) {
  163. scheduals.push(schedual)
  164. }
  165. }
  166. return this.processScheduals(scheduals)
  167. }
  168. //
  169. if (this.zone_selected != 0) {
  170. // var zone_name = this.zone_options[this.zone_selected].text
  171. // for (let index = 0; index < this.zone_scheduals.length; index++) {
  172. // const zone_scheduals = this.zone_scheduals[index]
  173. // if (zone_scheduals.zone_name == zone_name) {
  174. // return [zone_scheduals]
  175. // }
  176. // }
  177. var zone_name = this.zone_options[this.zone_selected].text
  178. var schedules = []
  179. var filtedSchedules = []
  180. for (let o_i = 0; o_i < this.zone_scheduals.length; o_i++) {
  181. const scheduleInfo = this.zone_scheduals[o_i]
  182. var originSchedules = scheduleInfo.scheduals
  183. for (let s_i = 0; s_i < originSchedules.length; s_i++) {
  184. const schedule = originSchedules[s_i]
  185. if (this.zone_selected == 0) {
  186. if (
  187. this.time_selected == 0 ||
  188. schedule.schedule_type == this.time_selected
  189. ) {
  190. filtedSchedules.push(schedule)
  191. }
  192. } else {
  193. if (
  194. zone_name.length > 0 &&
  195. zone_name == schedule.device_number.zone.name
  196. ) {
  197. if (
  198. this.time_selected == 0 ||
  199. schedule.schedule_type == this.time_selected
  200. ) {
  201. filtedSchedules.push(schedule)
  202. }
  203. }
  204. }
  205. }
  206. // if (filtedSchedules.length > 0) {
  207. // schedules.push({
  208. // zone_name: scheduleInfo.zone_name,
  209. // scheduals: filtedSchedules
  210. // });
  211. // }
  212. }
  213. console.log(filtedSchedules)
  214. return this.processScheduals(filtedSchedules)
  215. }
  216. if (this.time_selected != 0) {
  217. var zone_name = this.zone_options[this.zone_selected].text
  218. var schedules = []
  219. var filtedSchedules = []
  220. for (let o_i = 0; o_i < this.zone_scheduals.length; o_i++) {
  221. const scheduleInfo = this.zone_scheduals[o_i]
  222. var originSchedules = scheduleInfo.scheduals
  223. for (let s_i = 0; s_i < originSchedules.length; s_i++) {
  224. const schedule = originSchedules[s_i]
  225. if (this.zone_selected == 0) {
  226. if (
  227. this.time_selected == 0 ||
  228. schedule.schedule_type == this.time_selected
  229. ) {
  230. filtedSchedules.push(schedule)
  231. }
  232. } else {
  233. if (
  234. zone_name.length > 0 &&
  235. zone_name == schedule.device_number.zone.name
  236. ) {
  237. if (
  238. this.time_selected == 0 ||
  239. schedule.schedule_type == this.time_selected
  240. ) {
  241. filtedSchedules.push(schedule)
  242. }
  243. }
  244. }
  245. }
  246. // if (filtedSchedules.length > 0) {
  247. // schedules.push({
  248. // zone_name: scheduleInfo.zone_name,
  249. // scheduals: filtedSchedules
  250. // });
  251. // }
  252. }
  253. console.log(filtedSchedules)
  254. return this.processScheduals(filtedSchedules)
  255. }
  256. var zone_selected = this.zone_selected
  257. var timetype_selected = this.time_selected
  258. var assessment_before_dislysis_count = 0
  259. var prescription_count = 0
  260. if (zone_selected != 0 || timetype_selected != 0) {
  261. var zone_name =
  262. zone_selected == 0 ? '' : this.zone_options[zone_selected].text
  263. var schedules = []
  264. var filtedSchedules = []
  265. for (let o_i = 0; o_i < this.zone_scheduals.length; o_i++) {
  266. const scheduleInfo = this.zone_scheduals[o_i]
  267. var originSchedules = scheduleInfo.scheduals
  268. for (let s_i = 0; s_i < originSchedules.length; s_i++) {
  269. const schedule = originSchedules[s_i]
  270. if (
  271. zone_name.length == 0 ||
  272. (zone_name.length > 0 &&
  273. zone_name == schedule.device_number.zone.name)
  274. ) {
  275. if (
  276. timetype_selected == 0 ||
  277. schedule.schedule_type == timetype_selected
  278. ) {
  279. filtedSchedules.push(schedule)
  280. }
  281. }
  282. }
  283. // if (filtedSchedules.length > 0) {
  284. // schedules.push({
  285. // zone_name: scheduleInfo.zone_name,
  286. // scheduals: filtedSchedules
  287. // });
  288. // }
  289. }
  290. console.log(filtedSchedules)
  291. return this.processScheduals(filtedSchedules)
  292. // eslint-disable-next-line no-unreachable
  293. if (this.select_index == 2) {
  294. var scheduals = []
  295. for (let index = 0; index < this.scheduals.length; index++) {
  296. const schedual = this.scheduals[index]
  297. if (
  298. schedual.assessment_before_dislysis == null ||
  299. schedual.assessment_before_dislysis.weight_before == 0
  300. ) {
  301. if (
  302. this.cur_zone_selected > 0 &&
  303. schedual.device_number.zone.id != this.cur_zone_selected
  304. ) {
  305. continue
  306. }
  307. if (
  308. timetype_selected > 0 &&
  309. schedual.schedule_type != timetype_selected
  310. ) {
  311. continue
  312. }
  313. scheduals.push(schedual)
  314. }
  315. }
  316. return this.processScheduals(scheduals)
  317. // return scheduals;
  318. } else if (this.select_index == 1) {
  319. var scheduals = []
  320. for (let index = 0; index < this.scheduals.length; index++) {
  321. const schedual = this.scheduals[index]
  322. if (
  323. schedual.prescription == null ||
  324. schedual.prescription.creater == 0
  325. ) {
  326. if (
  327. this.cur_zone_selected > 0 &&
  328. schedual.device_number.zone.id != this.cur_zone_selected
  329. ) {
  330. continue
  331. }
  332. if (
  333. timetype_selected > 0 &&
  334. schedual.schedule_type != timetype_selected
  335. ) {
  336. continue
  337. }
  338. scheduals.push(schedual)
  339. }
  340. }
  341. // return scheduals;
  342. return this.processScheduals(scheduals)
  343. } else {
  344. // return this.zone_scheduals;
  345. var scheduals = []
  346. for (let index = 0; index < this.scheduals.length; index++) {
  347. const schedual = this.scheduals[index]
  348. if (schedual.dialysis_order == null) {
  349. if (
  350. this.cur_zone_selected > 0 &&
  351. schedual.device_number.zone.id != this.cur_zone_selected
  352. ) {
  353. continue
  354. }
  355. if (
  356. timetype_selected > 0 &&
  357. schedual.schedule_type != timetype_selected
  358. ) {
  359. continue
  360. }
  361. scheduals.push(schedual)
  362. }
  363. }
  364. // return scheduals;
  365. return this.processScheduals(scheduals)
  366. }
  367. }
  368. if (this.select_index == 2) {
  369. var scheduals = []
  370. for (let index = 0; index < this.scheduals.length; index++) {
  371. const schedual = this.scheduals[index]
  372. if (
  373. schedual.assessment_before_dislysis == null ||
  374. schedual.assessment_before_dislysis.weight_before == 0
  375. ) {
  376. scheduals.push(schedual)
  377. }
  378. }
  379. return this.processScheduals(scheduals)
  380. // return scheduals;
  381. } else if (this.select_index == 1) {
  382. var scheduals = []
  383. for (let index = 0; index < this.scheduals.length; index++) {
  384. const schedual = this.scheduals[index]
  385. if (
  386. schedual.prescription == null ||
  387. schedual.prescription.creater == 0
  388. ) {
  389. scheduals.push(schedual)
  390. }
  391. }
  392. // return scheduals;
  393. return this.processScheduals(scheduals)
  394. } else {
  395. // return this.zone_scheduals;
  396. var scheduals = []
  397. for (let index = 0; index < this.scheduals.length; index++) {
  398. const schedual = this.scheduals[index]
  399. if (schedual.dialysis_order == null) {
  400. scheduals.push(schedual)
  401. }
  402. }
  403. // return scheduals;
  404. return this.processScheduals(scheduals)
  405. }
  406. }
  407. },
  408. created () {
  409. var area = getSelectedAreaDataConfigList()
  410. var time = getSelectedTimesDataConfigList()
  411. var type = getWaitTypeSelectedConfig()
  412. if (area != null) {
  413. this.zone_options_visible = false
  414. this.zone_selected = parseInt(area)
  415. this.select_index = -1
  416. }
  417. if (time != null) {
  418. this.time_selected = parseInt(time)
  419. this.select_index = -1
  420. this.time_options_visible = false
  421. }
  422. if (type != null) {
  423. this.select_index = parseInt(type)
  424. }
  425. var storedata = this.$store.getters.waitscheduals
  426. var scheduals = storedata.waitscheduals
  427. if (Object.keys(storedata).length > 0) {
  428. var totalCount = scheduals.length
  429. var prescription_count = 0
  430. var assessment_before_dislysis_count = 0
  431. for (let index = 0; index < scheduals.length; index++) {
  432. const schedual = scheduals[index]
  433. if (schedual.assessment_before_dislysis == null) {
  434. assessment_before_dislysis_count += 1
  435. }
  436. if (schedual.prescription == null) {
  437. prescription_count += 1
  438. }
  439. }
  440. this.menuList[2].count = assessment_before_dislysis_count
  441. this.menuList[1].count = prescription_count
  442. this.scheduals = scheduals
  443. this.zone_options = this.makeZones(scheduals)
  444. this.zone_scheduals = this.processScheduals(scheduals)
  445. }
  446. // else {
  447. // this.requestScheduals()
  448. // }
  449. },
  450. mounted () {
  451. // this.timer = window.setInterval(() => {
  452. // setTimeout(this.requestScheduals(), 0)
  453. // }, 120000)
  454. },
  455. beforeDestroy () {
  456. clearInterval(this.timer)
  457. this.timer = null
  458. this.$once('hook:beforeDestroy', () => {
  459. clearInterval(this.timer)
  460. })
  461. },
  462. methods: {
  463. processScheduals: function (scheduals) {
  464. var zoneMap = {}
  465. var schedualMap = {}
  466. var assessment_before_dislysis_count = 0
  467. var prescription_count = 0
  468. for (let index = 0; index < scheduals.length; index++) {
  469. const schedual = scheduals[index]
  470. if (schedualMap[schedual.device_number.zone.id] == null) {
  471. schedualMap[schedual.device_number.zone.id] = []
  472. }
  473. if (this.select_index == 1) {
  474. if (
  475. schedual.prescription == null ||
  476. schedual.prescription.creater == 0
  477. ) {
  478. schedualMap[schedual.device_number.zone.id].push(schedual)
  479. prescription_count++
  480. }
  481. } else if (this.select_index == 2) {
  482. if (
  483. schedual.assessment_before_dislysis == null ||
  484. schedual.assessment_before_dislysis.weight_before == 0
  485. ) {
  486. schedualMap[schedual.device_number.zone.id].push(schedual)
  487. assessment_before_dislysis_count++
  488. }
  489. } else {
  490. if (schedual.dialysis_order == null) {
  491. schedualMap[schedual.device_number.zone.id].push(schedual)
  492. }
  493. }
  494. if (zoneMap[schedual.device_number.zone.id] == null) {
  495. zoneMap[schedual.device_number.zone.id] = schedual.device_number.zone
  496. }
  497. }
  498. if (this.select_index == 1) {
  499. this.menuList[1].count = prescription_count
  500. }
  501. if (this.select_index == 2) {
  502. this.menuList[2].count = assessment_before_dislysis_count
  503. }
  504. var zones = []
  505. // zones.push({ value: 0, text: "全部分区" })
  506. for (var zoneId in zoneMap) {
  507. zones.push({ id: zoneMap[zoneId].id, name: zoneMap[zoneId].name })
  508. }
  509. zones = zones.sort(function (a, b) {
  510. return a.id > b.id
  511. })
  512. // this.zones = zones
  513. var zone_scheduals = []
  514. for (let index = 0; index < zones.length; index++) {
  515. const zone = zones[index]
  516. var scheduals = schedualMap[zone.id]
  517. zone_scheduals.push({
  518. zone_id: zone.id,
  519. zone_name: zone.name,
  520. scheduals: scheduals
  521. })
  522. }
  523. // this.zone_scheduals = zone_scheduals;
  524. return zone_scheduals
  525. },
  526. reloads: function () {
  527. this.reload()
  528. },
  529. handleAllChange: function (tabIndex) {
  530. this.select_index = tabIndex
  531. this.zone_selected = 0
  532. this.time_selected = 0
  533. },
  534. menuTabClick: function (tabIndex) {
  535. this.select_index = tabIndex
  536. this.zone_selected = 0
  537. this.time_selected = 0
  538. setSelectedAreaDataConfigList(this.zone_selected)
  539. setSelectedTimesDataConfigList(this.time_selected)
  540. setWaitTypeSelectedConfig(tabIndex)
  541. },
  542. handleZoneChange: function (index, zone) {
  543. this.zone_options_visible = false
  544. this.zone_selected = index
  545. this.cur_zone_selected = zone.value
  546. // this.select_index = -1;
  547. setSelectedAreaDataConfigList(index.toString())
  548. },
  549. handleTimeChange: function (index) {
  550. this.time_selected = index
  551. // this.select_index = -1;
  552. this.time_options_visible = false
  553. setSelectedTimesDataConfigList(index.toString())
  554. },
  555. requestScheduals: function () {
  556. // this.loading = true;
  557. // var date = parseTime(Date.parse(new Date()), '{y}-{m}-{d}')
  558. // getWaitingScheduals({ date: date }).then(rs => {
  559. // var resp = rs.data
  560. // if (resp.state == 1) {
  561. this.loading = false
  562. var storedata = this.$store.getters.waitscheduals
  563. var scheduals = storedata.waitscheduals
  564. // var scheduals = resp.data.scheduals
  565. // this.$store.dispatch('SetWaitScheduals', {
  566. // waitscheduals: scheduals
  567. // })
  568. var totalCount = scheduals.length
  569. var prescription_count = 0
  570. var assessment_before_dislysis_count = 0
  571. for (let index = 0; index < scheduals.length; index++) {
  572. const schedual = scheduals[index]
  573. if (schedual.assessment_before_dislysis == null) {
  574. assessment_before_dislysis_count += 1
  575. }
  576. if (schedual.prescription == null) {
  577. prescription_count += 1
  578. }
  579. }
  580. this.menuList[2].count = assessment_before_dislysis_count
  581. this.menuList[1].count = prescription_count
  582. this.scheduals = scheduals
  583. this.zone_options = this.makeZones(scheduals)
  584. this.zone_scheduals = this.processScheduals(scheduals)
  585. // } else {
  586. // this.loading = false
  587. // this.$toast({
  588. // message: resp.msg
  589. // })
  590. // }
  591. // }).catch(error => {
  592. // this.loading = false
  593. // // 超时之后在这里捕抓错误信息.
  594. // if (error.response) {
  595. // this.networkStates = false
  596. // } else if (error.request) {
  597. // this.networkStates = false
  598. // // if(error.request.readyState == 4 && error.request.status == 0){
  599. // // //我在这里重新请求
  600. // // this.networkStates = false
  601. // // }
  602. // } else {
  603. // this.networkStates = false
  604. // }
  605. // })
  606. },
  607. makeZones: function (scheduals) {
  608. var zoneMap = {}
  609. for (let index = 0; index < scheduals.length; index++) {
  610. const schedual = scheduals[index]
  611. if (zoneMap[schedual.device_number.zone.id] == null) {
  612. zoneMap[schedual.device_number.zone.id] = schedual.device_number.zone
  613. }
  614. }
  615. var zones = []
  616. zones.push({ value: 0, text: '全部分区' })
  617. for (var zoneId in zoneMap) {
  618. zones.push({ value: zoneMap[zoneId].id, text: zoneMap[zoneId].name })
  619. }
  620. // zones = zones.sort(function (a, b) {
  621. // return a.value > b.value
  622. // })
  623. return zones
  624. }
  625. }
  626. }
  627. </script>
  628. <style style="stylesheet/scss" lang="scss" scoped>
  629. .screening {
  630. border-bottom: 1px #e5e5e5 solid;
  631. position: fixed;
  632. top: 100px;
  633. @media only screen and (min-width: 768px) {
  634. top: 163px;
  635. }
  636. @media only screen and (min-width: 415px) and (max-width: 767px) {
  637. top: 134px;
  638. }
  639. right: 0;
  640. z-index: 66;
  641. left: 0;
  642. background: #fff;
  643. // @media only screen and (max-width: 812px) {
  644. // top: 50px !important;
  645. // }
  646. ul {
  647. @include display-flex;
  648. @include align-items-center;
  649. @include text-align;
  650. @include justify-content-between;
  651. width: 96%;
  652. margin: 0 auto;
  653. font-size: 0.45rem;
  654. color: $title-color;
  655. li {
  656. padding: 0.3rem 0;
  657. .iconfont {
  658. font-size: 0.45rem;
  659. margin-left: 0.1rem;
  660. }
  661. }
  662. .active {
  663. position: relative;
  664. &::before {
  665. position: absolute;
  666. bottom: 0;
  667. left: 0;
  668. width: 100%;
  669. height: 2px;
  670. background: $main-color;
  671. // border-bottom: 0.04rem $main-color solid;
  672. content: "";
  673. }
  674. }
  675. }
  676. }
  677. .stateBox {
  678. // padding: 0.5rem 0 0 0.6rem;
  679. .title {
  680. font-size: 0.34rem;
  681. color: #34495e;
  682. font-weight: 600;
  683. height: 1rem;
  684. line-height: 1rem;
  685. display: inline-block;
  686. }
  687. }
  688. .shadow {
  689. width: 100%;
  690. height: 100%;
  691. position: absolute;
  692. left: 0;
  693. top: 0;
  694. z-index: 998;
  695. background-color: #000;
  696. opacity: 0.6;
  697. display: none;
  698. }
  699. </style>