index.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906
  1. <template>
  2. <div class="bank-report">
  3. <Header></Header>
  4. <section class="section">
  5. <!-- <div class="re_back">
  6. <el-button
  7. type="primary"
  8. plain
  9. round
  10. size="mini"
  11. class="back-btn"
  12. @click="$router.back(-1)"
  13. >返回</el-button
  14. >
  15. </div> -->
  16. <template
  17. v-if="
  18. subscribeInfo.liveStartTime <= sysTime &&
  19. subscribeInfo.liveEndTime >= sysTime
  20. "
  21. >
  22. <div class="container section__top">
  23. <div class="text">
  24. {{ subscribeInfo.liveStartTime}}
  25. 模考讲解直播将在{{
  26. $tools.timestampToTime(subscribeInfo.liveStartTime, false, true)
  27. }}开始,开启模考讲解直播提醒,不错过每一个考点
  28. </div>
  29. <el-button type="primary" class="btn" round @click="goLive()"
  30. >立即前往查看直播</el-button
  31. >
  32. </div>
  33. </template>
  34. <template v-else>
  35. <div
  36. class="container section__top"
  37. v-if="subscribeInfo.liveSubscribe == 0 && subscribeInfo.liveStartTime"
  38. >
  39. <div class="text">
  40. 模考讲解直播将在{{
  41. $tools.timestampToTime(subscribeInfo.liveStartTime, false, true)
  42. }}开始,开启模考讲解直播提醒,不错过每一个考点
  43. </div>
  44. <el-button
  45. type="primary"
  46. class="btn"
  47. round
  48. @click="showLiveModal = true"
  49. >开启模考讲解直播提醒</el-button
  50. >
  51. </div>
  52. <div
  53. class="container section__top"
  54. v-if="subscribeInfo.liveSubscribe == 1 && subscribeInfo.liveStartTime"
  55. >
  56. <div class="text">
  57. 模考讲解直播将在{{
  58. $tools.timestampToTime(subscribeInfo.liveStartTime, false, true)
  59. }}开始
  60. </div>
  61. <el-button type="primary" disabled class="btn" round
  62. >直播提醒已开启</el-button
  63. >
  64. </div>
  65. </template>
  66. <div class="container">
  67. <div
  68. class="section__header section__header--warm"
  69. v-if="examData.doType == 2 && reportdata.reportStatus === null"
  70. >
  71. <div class="title">
  72. <span class="icon">X</span>
  73. 测试未通过
  74. </div>
  75. <div class="desc" v-if="reportdata.doTime">
  76. 总时间:{{ $tools.secondToTime(reportdata.examTime) }}
  77. <span class="note"
  78. >答题时长:{{
  79. $tools.secondToTime(reportdata.doTime, false)
  80. }}</span
  81. >
  82. </div>
  83. </div>
  84. <div
  85. class="section__header section__header--success"
  86. v-if="examData.doType == 2 && reportdata.reportStatus === 1"
  87. >
  88. <div class="title">
  89. <span class="icon">✔</span>
  90. 测试通过
  91. </div>
  92. <div class="desc" v-if="reportdata.doTime">
  93. 总时间:{{ $tools.secondToTime(reportdata.examTime) }}
  94. <span class="note"
  95. >答题时长:{{
  96. $tools.secondToTime(reportdata.doTime, false)
  97. }}</span
  98. >
  99. </div>
  100. </div>
  101. <template v-else>
  102. <div class="section__header" v-if="reportdata.doTime">
  103. <div class="desc">
  104. 总时间:{{ $tools.secondToTime(reportdata.examTime) }}
  105. <span class="note"
  106. >答题时长:{{
  107. $tools.secondToTime(reportdata.doTime, false)
  108. }}</span
  109. >
  110. </div>
  111. </div>
  112. </template>
  113. <div class="section__body">
  114. <div class="section__body__content">
  115. <div class="left-box" v-if="reportdata.totalScore">
  116. <div class="left-box__in">
  117. <div class="title">
  118. 试卷得分
  119. <span class="note">(客观题)</span>
  120. </div>
  121. <div class="desc" style="margin-top: 70px">
  122. {{ reportdata.performance }}
  123. </div>
  124. <div class="other">满分{{ reportdata.totalScore }}</div>
  125. </div>
  126. <!-- <div class="left-box__in left-box__in--bottom">
  127. <div class="title">
  128. 试卷得分
  129. <span class="note">(客观题+主观题)</span>
  130. </div>
  131. <div class="desc">
  132. {{ reportdata.performance + reportdata.score }}
  133. </div>
  134. <div class="other">满分{{ reportdata.totalScore }}</div>
  135. </div> -->
  136. </div>
  137. <div class="right-box">
  138. <div class="right-box__in">
  139. <div class="title">
  140. 正确率
  141. <span class="note">(客观题)</span>
  142. </div>
  143. <div class="desc">
  144. <!-- 练习 -->
  145. <template v-if="examData.doType == 1">
  146. {{
  147. ((reportdata.rightQuestionNum /
  148. reportdata.doQuestionNum || 0) *
  149. 100)
  150. | toFixed(0)
  151. }}%
  152. </template>
  153. <!-- 考试 -->
  154. <template v-if="examData.doType == 2">
  155. {{
  156. ((reportdata.rightQuestionNum /
  157. reportdata.totalQuestionNum || 0) *
  158. 100)
  159. | toFixed(0)
  160. }}%
  161. </template>
  162. </div>
  163. <!-- <div class="other">满分{{ reportdata.totalScore }}</div> -->
  164. </div>
  165. <div class="right-box__in right-box__in--bottom">
  166. <div class="child">
  167. <div class="child__title child__title--success">
  168. {{ reportdata.rightQuestionNum }}
  169. </div>
  170. <div class="child__desc">正确题数</div>
  171. </div>
  172. <div class="child">
  173. <div class="child__title child__title--yellow">
  174. {{ reportdata.lessQuestionNum }}
  175. </div>
  176. <div class="child__desc">少选题数</div>
  177. </div>
  178. <div class="child child---right">
  179. <div class="child__title child__title--warm">
  180. {{ wrongRecordWrongNum }}
  181. </div>
  182. <div class="child__desc">错误题数</div>
  183. </div>
  184. </div>
  185. </div>
  186. </div>
  187. </div>
  188. <div class="section__footer">
  189. <el-button type="primary" @click="back" class="btn"
  190. >返回列表</el-button
  191. >
  192. <!-- <el-button type="primary" class="btn" @click="doRepeat(reportdata)"
  193. >重新做题</el-button
  194. > -->
  195. <el-button
  196. type="primary"
  197. class="btn"
  198. @click="wrongExplain(reportdata)"
  199. >错题解析</el-button
  200. >
  201. <el-button type="primary" class="btn" @click="allExplain(reportdata)"
  202. >全部解析</el-button
  203. >
  204. </div>
  205. <div v-if="courseList.length" class="course_list">
  206. <div class="course__header">
  207. <div class="title">相关推荐</div>
  208. </div>
  209. <div class="course__body">
  210. <!-- <p
  211. v-if="
  212. !courseList.length
  213. "
  214. class="text_align"
  215. >
  216. 无推荐课程
  217. </p> -->
  218. <ul class="list clearfix">
  219. <template v-for="(item, index) in courseList">
  220. <li class="course-item" :key="index">
  221. <GoodsItem :item="item"></GoodsItem>
  222. </li>
  223. </template>
  224. </ul>
  225. </div>
  226. <div class="pagination">
  227. <el-pagination
  228. @current-change="currentChangeCou"
  229. background
  230. layout="prev, pager, next"
  231. :total="total"
  232. :page-size="pageSize"
  233. >
  234. </el-pagination>
  235. </div>
  236. </div>
  237. </div>
  238. </section>
  239. <el-dialog
  240. width="462px"
  241. height="453px"
  242. class="info"
  243. :visible.sync="showLiveModal"
  244. :close-on-click-modal="false"
  245. :close-on-press-escape="false"
  246. :show-close="false"
  247. >
  248. <div class="info__content">
  249. <img src="@/assets/liveRing.png" alt="" />
  250. <div class="main">
  251. <div class="title">开启模考讲解直播提醒</div>
  252. <div class="desc">
  253. 此科目模考分析将在{{
  254. $tools.timestampToTime(subscribeInfo.liveStartTime, false, true)
  255. }}进行直播讲解
  256. <br />
  257. 开启直播提醒,不错过名师讲解
  258. </div>
  259. <div class="btns">
  260. <el-button class="btn" @click="showLiveModal = false"
  261. >暂不开启</el-button
  262. >
  263. <el-button type="primary" class="btn" @click="openRemind"
  264. >开启提醒</el-button
  265. >
  266. </div>
  267. </div>
  268. </div>
  269. </el-dialog>
  270. <ToolBar></ToolBar>
  271. <Footer></Footer>
  272. </div>
  273. </template>
  274. <script>
  275. import Footer from "@/components/footer/index";
  276. import Header from "@/components/header/index";
  277. import ToolBar from "@/components/toolbar/index";
  278. import GoodsItem from "@/components/goodsItem/index";
  279. import { mapGetters, mapActions } from "vuex";
  280. export default {
  281. name: "BankExplain",
  282. components: {
  283. Footer,
  284. Header,
  285. ToolBar,
  286. GoodsItem,
  287. },
  288. data() {
  289. return {
  290. mockName: "",
  291. showLiveModal: false,
  292. wrongRecordWrongNum: 0,
  293. nextExamId: "",
  294. examData: {},
  295. reportdata: {},
  296. examId: 0,
  297. recordId: 0,
  298. eachExamId: 0,
  299. subscribeId: 0,
  300. subscribeInfo: {},
  301. courseList: [],
  302. pageNum: 1,
  303. pageSize: 10,
  304. total: 0,
  305. };
  306. },
  307. computed: {
  308. ...mapGetters(["examResult", "sysTime"]),
  309. },
  310. async mounted() {
  311. console.log('sysTime', this.sysTime)
  312. this.eachExamId = this.$route.query.eachExamId;
  313. this.examId = this.$route.query.examId;
  314. this.recordId = this.$route.query.recordId;
  315. this.subscribeId = this.$route.query.subscribeId;
  316. this.getcourList()
  317. this.setSystemTime();
  318. this.mockSubscribeInfo();
  319. this.mockWrongRecordWrongNum();
  320. await this.bankExam();
  321. await this.mockReport();
  322. },
  323. methods: {
  324. ...mapActions(["setSystemTime"]),
  325. getcourList() {
  326. this.$axios({
  327. url: '/apply/recommend/goodsList',
  328. method: 'post',
  329. data: {
  330. examId: this.examId,
  331. pageNum: this.pageNum,
  332. pageSize: this.pageSize,
  333. platform: 2,
  334. }
  335. }).then((res) => {
  336. if (res.code == 200) {
  337. this.courseList = res.rows || []
  338. this.total = res.total
  339. }
  340. })
  341. },
  342. currentChangeCou(val) {
  343. this.pageNum = val
  344. this.getcourList()
  345. },
  346. goLive() {
  347. this.$router.push({
  348. path: "/living-room/" + this.subscribeInfo.liveUrl,
  349. query: {
  350. sectionType: 2,
  351. },
  352. });
  353. },
  354. openRemind() {
  355. this.showLiveModal = false;
  356. this.$request
  357. .mockSubscribeEdit({
  358. subscribeId: this.subscribeId,
  359. liveSubscribe: 1,
  360. })
  361. .then((res) => {
  362. if (res.code == 200) {
  363. this.mockSubscribeInfo();
  364. this.$message.success("开启成功");
  365. }
  366. });
  367. },
  368. mockSubscribeInfo() {
  369. if (!this.subscribeId) {
  370. return;
  371. }
  372. this.$request.mockSubscribeInfo(this.subscribeId).then((res) => {
  373. this.subscribeInfo = res.data;
  374. });
  375. },
  376. back() {
  377. this.$router.back(-1);
  378. },
  379. /**
  380. * 去做题
  381. */
  382. async doRepeat(reportdata) {
  383. // await this.getDetail(reportdata.goodsId);
  384. let count = await this.examRecordCount(
  385. reportdata.examId,
  386. reportdata.goodsId
  387. );
  388. let answerNum = await this.getExamDetail(reportdata.examId);
  389. //超过答题次数
  390. if (answerNum > 0 && count >= answerNum) {
  391. this.$message({
  392. type: "warning",
  393. message: "该试卷只能答题" + answerNum + "次!",
  394. });
  395. return;
  396. }
  397. this.$router.replace({
  398. path: "/bank-exam/" + reportdata.goodsId,
  399. query: {
  400. orderGoodsId: this.orderGoodsId,
  401. examId: reportdata.examId,
  402. moduleId: reportdata.moduleId || 0,
  403. chapterId: reportdata.chapterId || 0,
  404. },
  405. });
  406. },
  407. /**
  408. * @param {Object} exam_id
  409. * 获取试卷可以做的次数
  410. */
  411. getExamDetail(exam_id) {
  412. return new Promise((resolve) => {
  413. this.$request.getExamDetail(exam_id).then((res) => {
  414. resolve(res.data.answerNum);
  415. });
  416. });
  417. },
  418. /**
  419. * 查询试卷历史做题次数
  420. */
  421. examRecordCount(examId, goodsId) {
  422. return new Promise((resolve) => {
  423. this.$request
  424. .examRecordCount({
  425. examId: examId,
  426. goodsId: goodsId,
  427. })
  428. .then((res) => {
  429. resolve(res.data);
  430. });
  431. });
  432. },
  433. getDetail(goodsId) {
  434. return new Promise((resolve) => {
  435. this.$request
  436. .orderInfo({
  437. orderGoodsId: this.orderGoodsId,
  438. })
  439. .then((res) => {
  440. this.goodsData = res.data;
  441. resolve();
  442. });
  443. });
  444. },
  445. mockWrongRecordWrongNum() {
  446. return new Promise((resolve) => {
  447. this.$request.mockWrongRecordWrongNum(this.recordId).then((res) => {
  448. this.wrongRecordWrongNum = res.data || 0;
  449. resolve();
  450. });
  451. });
  452. },
  453. backBank() {
  454. this.$router.replace({
  455. path: "/bank-exam/" + this.goodsId,
  456. query: {
  457. orderGoodsId: this.orderGoodsId,
  458. examId: this.nextExamId,
  459. moduleId: this.moduleId || 0,
  460. chapterId: this.chapterId || 0,
  461. },
  462. });
  463. },
  464. bankExam() {
  465. return new Promise((resolve) => {
  466. this.$request.bankExam(this.examId).then((res) => {
  467. this.examData = res.data;
  468. resolve();
  469. });
  470. });
  471. },
  472. mockReport() {
  473. return new Promise((resolve) => {
  474. this.$request.mockReport(this.recordId).then((res) => {
  475. this.reportdata = res.data;
  476. resolve();
  477. });
  478. });
  479. },
  480. wrongExplain(reportdata) {
  481. this.$router.push({
  482. path: "/mock-exam-wrong-explain/" + reportdata.recordId,
  483. query: {
  484. examId: reportdata.examId,
  485. },
  486. });
  487. },
  488. allExplain(reportdata) {
  489. this.$router.push({
  490. path: "/mock-exam-all-explain/" + reportdata.recordId,
  491. query: {
  492. examId: reportdata.examId,
  493. },
  494. });
  495. },
  496. },
  497. };
  498. </script>
  499. <!-- Add "scoped" attribute to limit CSS to this component only -->
  500. <style scoped lang="scss">
  501. .bank-report {
  502. .re_back {
  503. text-align: right;
  504. margin: 10px 0px;
  505. .back-btn {
  506. width: 100px;
  507. }
  508. }
  509. .section {
  510. &__top {
  511. height: 72px;
  512. background: #f7f9fc;
  513. display: flex;
  514. align-items: center;
  515. margin-top: 20px;
  516. padding: 0 20px;
  517. justify-content: space-between;
  518. .text {
  519. font-size: 16px;
  520. font-family: Microsoft YaHei;
  521. font-weight: 400;
  522. color: #333333;
  523. }
  524. .btn {
  525. width: 200px;
  526. height: 32px;
  527. font-size: 16px;
  528. border-radius: 16px;
  529. padding: 0;
  530. line-height: 32px;
  531. text-align: center;
  532. }
  533. }
  534. &__header {
  535. height: 120px;
  536. border-radius: 0px;
  537. padding-top: 10px;
  538. &--warm {
  539. background: #fff3f5;
  540. .title {
  541. text-align: center;
  542. font-size: 18px;
  543. font-family: Microsoft YaHei;
  544. font-weight: bold;
  545. color: #ff3b30;
  546. .icon {
  547. vertical-align: middle;
  548. display: inline-block;
  549. width: 48px;
  550. height: 58px;
  551. text-align: center;
  552. line-height: 58px;
  553. background: #ff3b30;
  554. color: #fff;
  555. font-size: 30px;
  556. }
  557. }
  558. }
  559. &--success {
  560. background: #f8fef9;
  561. .title {
  562. text-align: center;
  563. font-size: 18px;
  564. font-family: Microsoft YaHei;
  565. font-weight: bold;
  566. color: #34c759;
  567. .icon {
  568. vertical-align: middle;
  569. display: inline-block;
  570. width: 48px;
  571. height: 58px;
  572. text-align: center;
  573. line-height: 58px;
  574. background: #34c759;
  575. color: #fff;
  576. font-size: 30px;
  577. }
  578. }
  579. }
  580. .desc {
  581. margin-top: 20px;
  582. text-align: center;
  583. font-size: 14px;
  584. font-family: Microsoft YaHei;
  585. font-weight: 400;
  586. color: #333333;
  587. .note {
  588. font-size: 14px;
  589. font-family: Microsoft YaHei;
  590. font-weight: 400;
  591. color: #999999;
  592. }
  593. }
  594. }
  595. &__body {
  596. width: 100%;
  597. height: 305px;
  598. border-bottom: 1px solid #eee;
  599. &__content {
  600. width: 100%;
  601. height: 100%;
  602. display: flex;
  603. align-items: center;
  604. justify-content: center;
  605. .left-box {
  606. width: 300px;
  607. height: 240px;
  608. background: #ffffff;
  609. border: 1px solid #eeeeee;
  610. border-radius: 8px;
  611. display: flex;
  612. flex-direction: column;
  613. margin: 0 10px;
  614. &__in {
  615. flex: 1;
  616. border-bottom: 1px solid #eee;
  617. padding: 5px 18px;
  618. .title {
  619. font-size: 14px;
  620. font-family: Microsoft YaHei;
  621. font-weight: 400;
  622. color: #333333;
  623. line-height: 24px;
  624. .note {
  625. color: #999;
  626. }
  627. }
  628. .desc {
  629. margin-top: 20px;
  630. font-size: 48px;
  631. font-family: Microsoft YaHei;
  632. font-weight: 400;
  633. color: #333333;
  634. line-height: 24px;
  635. text-align: center;
  636. }
  637. .other {
  638. margin-top: 14px;
  639. font-size: 14px;
  640. font-family: Microsoft YaHei;
  641. font-weight: 400;
  642. color: #999999;
  643. line-height: 24px;
  644. text-align: center;
  645. }
  646. &--bottom {
  647. border: 0;
  648. }
  649. }
  650. }
  651. .right-box {
  652. margin: 0 10px;
  653. display: flex;
  654. width: 300px;
  655. height: 240px;
  656. background: #ffffff;
  657. border: 1px solid #eeeeee;
  658. border-radius: 8px;
  659. flex-direction: column;
  660. &__in {
  661. flex: 1;
  662. border-bottom: 1px solid #eee;
  663. padding: 5px 18px;
  664. .title {
  665. font-size: 14px;
  666. font-family: Microsoft YaHei;
  667. font-weight: 400;
  668. color: #333333;
  669. line-height: 24px;
  670. .note {
  671. color: #999;
  672. }
  673. }
  674. .desc {
  675. margin-top: 20px;
  676. font-size: 48px;
  677. font-family: Microsoft YaHei;
  678. font-weight: 400;
  679. color: #333333;
  680. line-height: 24px;
  681. text-align: center;
  682. }
  683. .other {
  684. margin-top: 14px;
  685. font-size: 14px;
  686. font-family: Microsoft YaHei;
  687. font-weight: 400;
  688. color: #999999;
  689. line-height: 24px;
  690. text-align: center;
  691. }
  692. &--bottom {
  693. padding: 0;
  694. border: 0;
  695. height: 100%;
  696. display: flex;
  697. .child {
  698. flex: 1;
  699. height: 100%;
  700. border-right: 1px solid #eee;
  701. padding: 5px 18px;
  702. &:nth-last-of-type(1) {
  703. border-right: 0;
  704. }
  705. &--right {
  706. border: 0;
  707. }
  708. &__title {
  709. margin-top: 20px;
  710. font-size: 36px;
  711. font-family: Microsoft YaHei;
  712. font-weight: 400;
  713. color: #34c759;
  714. line-height: 24px;
  715. text-align: center;
  716. &--success {
  717. color: #34c759;
  718. }
  719. &--warm {
  720. color: #ff3b30;
  721. }
  722. &--yellow {
  723. color: #ffc53d;
  724. }
  725. }
  726. &__desc {
  727. margin-top: 10px;
  728. font-size: 14px;
  729. font-family: Microsoft YaHei;
  730. font-weight: 400;
  731. color: #999999;
  732. line-height: 24px;
  733. text-align: center;
  734. }
  735. }
  736. }
  737. }
  738. }
  739. }
  740. }
  741. &__footer {
  742. display: flex;
  743. align-items: center;
  744. justify-content: center;
  745. padding: 40px 0;
  746. .btn {
  747. cursor: pointer;
  748. width: 140px;
  749. height: 32px;
  750. padding: 0;
  751. border-radius: 16px;
  752. text-align: center;
  753. line-height: 30px;
  754. font-size: 12px;
  755. margin: 0 4px;
  756. }
  757. }
  758. .course_list {
  759. .course {
  760. background: #f5f7fa;
  761. padding-top: 40px;
  762. &__header {
  763. display: flex;
  764. align-items: center;
  765. justify-content: space-between;
  766. .title {
  767. background: url("~@/assets/video.png") no-repeat left center;
  768. padding-left: 36px;
  769. font-size: 24px;
  770. font-family: YouSheBiaoTiHei;
  771. font-weight: 400;
  772. color: #333333;
  773. text-shadow: 0px 6px 6px rgba(249, 113, 13, 0.08);
  774. }
  775. }
  776. &__body {
  777. .list {
  778. width: 100%;
  779. .course-item {
  780. float: left;
  781. }
  782. }
  783. }
  784. }
  785. .pagination {
  786. display: flex;
  787. align-items: center;
  788. justify-content: center;
  789. margin: 20px 0px;
  790. }
  791. }
  792. }
  793. .info {
  794. /deep/ .el-dialog__header {
  795. display: none;
  796. }
  797. /deep/ .el-dialog__body {
  798. padding: 0;
  799. overflow: unset;
  800. }
  801. &__content {
  802. .main {
  803. padding: 24px;
  804. .title {
  805. text-align: center;
  806. font-size: 16px;
  807. font-family: Microsoft YaHei;
  808. font-weight: bold;
  809. color: #333333;
  810. }
  811. .desc {
  812. font-size: 14px;
  813. font-family: Microsoft YaHei;
  814. font-weight: 400;
  815. color: #666666;
  816. line-height: 24px;
  817. }
  818. .btns {
  819. margin-top: 50px;
  820. text-align: center;
  821. .btn {
  822. display: inline-block;
  823. width: 160px;
  824. height: 40px;
  825. padding: 0;
  826. border-radius: 8px;
  827. margin: 0 8px;
  828. }
  829. }
  830. }
  831. }
  832. }
  833. }
  834. </style>