TextbookDetail.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835
  1. <template>
  2. <!-- 教材详情 -->
  3. <div class="TextbookDetail" v-if="TextbookData && isData">
  4. <div class="nav">
  5. <!-- 登录导航 -->
  6. <Header />
  7. <div class="shade"></div>
  8. </div>
  9. <template v-if="TextbookData.is_deleted == 'false'">
  10. <template v-if="bookIsBuy == 'true' || TextbookData.publish_status == 1">
  11. <div class="main" v-loading="loading">
  12. <div class="bookDetail" v-if="detailSHow">
  13. <div class="rightUp">
  14. <span>HOT</span>
  15. </div>
  16. <div class="img">
  17. <img :src="TextbookData.picture_url" alt="" />
  18. </div>
  19. <div class="text">
  20. <p class="p1">{{ TextbookData.name }}</p>
  21. <p class="p2">{{ TextbookData.org_name }}</p>
  22. <p class="p2">{{ TextbookData.author }}</p>
  23. <p class="p3">
  24. {{ TextbookData.description }}
  25. </p>
  26. <div class="operation">
  27. <span class="price">
  28. ¥<span
  29. class="price_1"
  30. v-html="changePrice(TextbookData.price)"
  31. ></span>
  32. </span>
  33. <button @click="getPurchase" class="get">
  34. <!-- Key390-去学习 Key72-购买 -->
  35. {{
  36. bookIsBuy == "true" ? this.$t("Key390") : this.$t("Key72")
  37. }}
  38. </button>
  39. <!-- <button class="acquired">
  40. ACQUIRED
  41. </button> -->
  42. <span class="enshrine" @click="enshrineEvent">
  43. <img
  44. v-if="enshrine == 'false'"
  45. src="../assets/textBookDetail/enshrine2.png"
  46. alt=""
  47. />
  48. <img
  49. v-else
  50. src="../assets/textBookDetail/enshrine1.png"
  51. alt=""
  52. />
  53. </span>
  54. </div>
  55. </div>
  56. </div>
  57. <!-- <div class="more" v-if="detailSHow">
  58. <div class="moreTitle">更多推荐</div>
  59. <div class="moreList">
  60. <div class="moreOne">
  61. <div>
  62. <img src="../assets/textBookDetail/Rectangle 905.png" alt="" />
  63. </div>
  64. <div class="text">
  65. <p class="p1">Learn Chinese with Ease-Learn Chinese with Ease</p>
  66. <p>Beijing language and Culture University</p>
  67. <p>Esther Howard</p>
  68. <div class="operation">
  69. <span class="price">
  70. <span
  71. class="price_1"
  72. v-text="changePrice('19.99')"
  73. ></span>
  74. <span
  75. class="price_2"
  76. v-text="changePrice('19.99')"
  77. ></span>
  78. </span>
  79. <button class="get">GET</button>
  80. </div>
  81. </div>
  82. </div>
  83. <div class="moreOne">
  84. <div>
  85. <img src="../assets/textBookDetail/Rectangle 906.png" alt="" />
  86. </div>
  87. <div class="text">
  88. <p class="p1">Learn Chinese with Ease-Learn Chinese with Ease</p>
  89. <p>Beijing language and Culture University</p>
  90. <p>Esther Howard</p>
  91. <div class="operation">
  92. <span class="price">
  93. <span
  94. class="price_1"
  95. v-text="changePrice('19.99')"
  96. ></span>
  97. <span
  98. class="price_2"
  99. v-text="changePrice('19.99')"
  100. ></span>
  101. </span>
  102. <button class="get">GET</button>
  103. </div>
  104. </div>
  105. </div>
  106. <div class="moreOne">
  107. <div>
  108. <img src="../assets/textBookDetail/Rectangle 907.png" alt="" />
  109. </div>
  110. <div class="text">
  111. <p class="p1">Learn Chinese with Ease-Learn Chinese with Ease</p>
  112. <p>Beijing language and Culture University</p>
  113. <p>Esther Howard</p>
  114. <div class="operation">
  115. <span class="price">
  116. <span
  117. class="price_1"
  118. v-text="changePrice('1', '19.99')"
  119. ></span>
  120. <span
  121. class="price_2"
  122. v-text="changePrice('2', '19.99')"
  123. ></span>
  124. </span>
  125. <button class="get">GET</button>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
  130. </div> -->
  131. <div class="cutDownOrimg" v-if="detailSHow">
  132. <div class="sele">
  133. <div
  134. @click="SelectShowEvent('1')"
  135. :class="SelectShow == '1' ? 'select' : ''"
  136. >
  137. <!-- 目录 -->{{ $t("Key612") }}
  138. </div>
  139. <div
  140. @click="SelectShowEvent('2')"
  141. :class="SelectShow == '1' ? '' : 'select'"
  142. >
  143. <!-- 资源 -->{{ $t("Key613") }}
  144. </div>
  145. </div>
  146. </div>
  147. <div v-if="SelectShow == '1'" class="Catalogue">
  148. <BookView
  149. :bookId="TextBookId"
  150. @bookdetailShow="bookdetailShow"
  151. :bookIsBuy="bookIsBuy"
  152. ></BookView>
  153. </div>
  154. <div v-else class="Resources">
  155. <div>
  156. <img src="../assets/textBookDetail/fileType1.png" alt="" />
  157. <span> 文件名 </span>
  158. <img src="../assets/textBookDetail/upload.png" alt="" />
  159. </div>
  160. </div>
  161. </div>
  162. </template>
  163. </template>
  164. <template v-if="TextbookData.is_deleted == 'true'">
  165. <div class="noview-msg-box">
  166. <div class="noview-msg">无法查看,教材已被删除</div>
  167. </div>
  168. </template>
  169. <template
  170. v-if="
  171. TextbookData.is_deleted == 'false' &&
  172. bookIsBuy == 'false' &&
  173. TextbookData.publish_status == 0
  174. "
  175. >
  176. <div class="noview-msg-box">
  177. <div class="noview-msg">无法查看,教材已下架</div>
  178. </div>
  179. </template>
  180. <!-- 商品详情 -->
  181. <el-dialog
  182. class="buyWindow"
  183. title=""
  184. :visible.sync="NopymentShow"
  185. width="720px"
  186. :before-close="closeNoPyment"
  187. >
  188. <Confirmorder
  189. :data="TextbookData"
  190. :goods_type="101"
  191. :changeOrderNumber="changeOrderNumber"
  192. ref="Confirmorder"
  193. />
  194. </el-dialog>
  195. <!-- 订单号 -->
  196. <el-dialog
  197. :title="$t('Key472') + ':' + orderNumber"
  198. :visible.sync="PymentShow"
  199. width="720px"
  200. :before-close="closePyment"
  201. >
  202. <Payment
  203. :data="TextbookData"
  204. :orderNumber="orderNumber"
  205. :closePyment="closePyment"
  206. />
  207. </el-dialog>
  208. </div>
  209. </template>
  210. <script>
  211. //这里可以导入其它文件(比如:组件,工具js,第三方插件js,json文件,图片文件等等)
  212. //例如:import 《组件名称》from ‘《组件路径》';
  213. import Header from "@/components/Header";
  214. import { TextbookAPI, LearnWebSI } from "@/api/ajax";
  215. import Confirmorder from "@/components/pyment/Confirmorder";
  216. import Payment from "@/components/pyment/Payment";
  217. import BookView from "@/views/bookView"; // 教材预览
  218. import { updateWordPack } from "@/utils/i18n";
  219. export default {
  220. //import引入的组件需要注入到对象中才能使用
  221. components: {
  222. Header,
  223. Confirmorder,
  224. Payment,
  225. BookView
  226. },
  227. props: {},
  228. data() {
  229. //这里存放数据
  230. return {
  231. enshrine: "false",
  232. IsPurchase: false,
  233. SelectShow: "1", //选择展示课程资源还是下载
  234. TextBookId: null,
  235. TextbookData: null,
  236. loading: false,
  237. NopymentShow: false, //添加订单弹窗
  238. PymentShow: false, //支付订单弹窗
  239. orderNumber: null, //订单号
  240. IsDownload: false, //是否可以下载
  241. detailSHow: true, // 除教材预览外其他内容是否显示
  242. bookIsBuy: "false", // 教材是否已购买
  243. isData: false
  244. };
  245. },
  246. //计算属性 类似于data概念
  247. computed: {},
  248. //监控data中数据变化
  249. watch: {},
  250. //方法集合
  251. methods: {
  252. closeNoPyment() {
  253. this.NopymentShow = false;
  254. this.$refs.Confirmorder.clearData();
  255. },
  256. closePyment(str) {
  257. this.PymentShow = false;
  258. this.$refs.Confirmorder.clearData();
  259. if (str == "支付成功") {
  260. this.getdetail();
  261. }
  262. },
  263. // 生成订单 同时切换到支付弹窗
  264. changeOrderNumber(
  265. val,
  266. back_discount_code,
  267. discount_money,
  268. receivables_money
  269. ) {
  270. this.orderNumber = val;
  271. this.NopymentShow = false;
  272. this.TextbookData.back_discount_code = back_discount_code;
  273. this.TextbookData.discount_money = discount_money;
  274. this.TextbookData.receivables_money = receivables_money;
  275. this.PymentShow = true;
  276. this.isConfirmorder = false;
  277. },
  278. // 选择课程资源还是下载
  279. SelectShowEvent(num) {
  280. this.SelectShow = num;
  281. },
  282. changePrice(price) {
  283. let str = "";
  284. price = price ? price.toString() : "0.00";
  285. if (price.indexOf(".") > -1) {
  286. let arr = price.split(".");
  287. str = `<span style="font-size: 24px;">${arr[0]}</span>.<span style="font-size: 16px;">${arr[1]}</span>`;
  288. } else {
  289. str = `<span style="font-size: 24px;">${price}</span>.<span style="font-size: 16px;">00</span>`;
  290. }
  291. return str;
  292. },
  293. // 收藏
  294. enshrineEvent() {
  295. // this.enshrine = !this.enshrine;
  296. if (this.enshrine == "false") {
  297. let Mname = "order-collection_manager-AddMyCollection";
  298. let data = {
  299. goods_id: this.TextBookId,
  300. goods_type: 101,
  301. goods_name: this.TextbookData.name,
  302. goods_person_name_desc: this.TextbookData.author,
  303. goods_picture_id: this.TextbookData.picture_id,
  304. goods_price: this.TextbookData.price
  305. };
  306. LearnWebSI(Mname, data).then(res => {
  307. this.enshrine = "true";
  308. this.$message.success(this.$t("Key575")); //"收藏成功"
  309. });
  310. } else {
  311. let Mname = "order-collection_manager-CancelMyGoodsCollection";
  312. let data = {
  313. goods_type: 101,
  314. goods_id_list: [this.TextBookId]
  315. };
  316. LearnWebSI(Mname, data).then(res => {
  317. this.enshrine = "false";
  318. this.$message.success(this.$t("Key396")); //"取消收藏成功"
  319. });
  320. }
  321. },
  322. // 购买
  323. getPurchase() {
  324. if (this.bookIsBuy == "true") {
  325. this.$router.push("/courseview?bookId=" + this.TextBookId);
  326. } else {
  327. this.NopymentShow = true;
  328. }
  329. },
  330. bookdetailShow(flag) {
  331. this.detailSHow = flag;
  332. },
  333. //获取当前书籍是否已购买
  334. handleIsBuy() {
  335. let Mname = "order-order_manager-CheckMyGoodsBuyStatus";
  336. let data = {
  337. goods_type: 101,
  338. goods_id: this.TextBookId
  339. };
  340. LearnWebSI(Mname, data).then(res => {
  341. this.bookIsBuy = res.is_buy; //是否已购买 true 是 false 否
  342. });
  343. },
  344. // 获取当前书籍是否已收藏
  345. handleIsEnshrine() {
  346. let Mname = "order-collection_manager-CheckMyGoodsCollectionStatus";
  347. let data = {
  348. goods_type: 101,
  349. goods_id: this.TextBookId
  350. };
  351. LearnWebSI(Mname, data).then(res => {
  352. this.enshrine = res.is_collection;
  353. });
  354. },
  355. getdetail() {
  356. this.loading = true;
  357. this.TextBookId = this.$route.query.goods_id;
  358. let Mname = "book-book_manager-GetBook";
  359. // 获取课程详情
  360. TextbookAPI(Mname, {
  361. id: this.TextBookId
  362. })
  363. .then(res => {
  364. this.TextbookData = res;
  365. this.loading = false;
  366. })
  367. .catch(res => {
  368. this.loading = false;
  369. });
  370. this.handleIsBuy();
  371. this.handleIsEnshrine();
  372. }
  373. },
  374. //生命周期 - 创建完成(可以访问当前this实例)
  375. async created() {
  376. await updateWordPack({
  377. word_key_list: [
  378. "Key9",
  379. "Key38",
  380. "Key39",
  381. "Key52",
  382. "Key53",
  383. "Key54",
  384. "Key55",
  385. "Key72",
  386. "Key94",
  387. "Key108",
  388. "Key109",
  389. "Key116",
  390. "Key390",
  391. "Key396",
  392. "Key472",
  393. "Key473",
  394. "Key474",
  395. "Key475",
  396. "Key575",
  397. "Key612",
  398. "Key613"
  399. ]
  400. });
  401. this.isData = true;
  402. this.getdetail();
  403. },
  404. //生命周期 - 挂载完成(可以访问DOM元素)
  405. mounted() {},
  406. //生命周期-创建之前
  407. beforeCreated() {},
  408. //生命周期-挂载之前
  409. beforeMount() {},
  410. //生命周期-更新之前
  411. beforUpdate() {},
  412. //生命周期-更新之后
  413. updated() {},
  414. //生命周期-销毁之前
  415. beforeDestory() {},
  416. //生命周期-销毁完成
  417. destoryed() {},
  418. //如果页面有keep-alive缓存功能,这个函数会触发
  419. activated() {}
  420. };
  421. </script>
  422. <style lang="scss" scoped>
  423. /* @import url(); 引入css类 */
  424. .TextbookDetail {
  425. // height: 100%;
  426. .price_1 {
  427. font-style: normal;
  428. font-weight: 600;
  429. font-size: 24px;
  430. line-height: 150%;
  431. color: #ffffff;
  432. .num1 {
  433. font-size: 24px;
  434. }
  435. .num2 {
  436. font-size: 16px;
  437. }
  438. }
  439. .nav {
  440. background: url("../assets/textBookDetail/Homebg2.png") no-repeat center;
  441. background-size: 100% 100%;
  442. // height: 60px;
  443. border-bottom-left-radius: 20px;
  444. border-bottom-right-radius: 20px;
  445. position: relative;
  446. .shade {
  447. position: absolute;
  448. top: 0;
  449. width: 100%;
  450. height: 100%;
  451. background: rgba(0, 0, 0, 0.5);
  452. display: flex;
  453. color: #fff;
  454. font-weight: bold;
  455. font-size: 18px;
  456. justify-content: space-around;
  457. align-items: center;
  458. .el-menu-demo {
  459. background: rgba(0, 0, 0, 0);
  460. }
  461. // 取消组件默认的样式
  462. .el-menu.el-menu--horizontal {
  463. border-bottom: none;
  464. li:hover {
  465. background: none;
  466. }
  467. li {
  468. background: none;
  469. }
  470. }
  471. .nav_title {
  472. text-align: left;
  473. }
  474. .seek {
  475. input {
  476. width: 450px;
  477. height: 46px;
  478. background: #979797;
  479. border: none;
  480. outline: none;
  481. color: white;
  482. font-size: 18px;
  483. opacity: 0.5;
  484. }
  485. img {
  486. position: relative;
  487. right: 40px;
  488. top: 8px;
  489. cursor: pointer;
  490. }
  491. }
  492. }
  493. }
  494. .headerone {
  495. // margin-top: 10px;
  496. }
  497. .main {
  498. min-height: 100%;
  499. padding-top: 52px;
  500. background: #e5e5e5;
  501. padding-bottom: 20px;
  502. .bookDetail {
  503. width: 1240px;
  504. margin: 0 auto;
  505. background: #6e767c;
  506. border-radius: 8px;
  507. display: flex;
  508. position: relative;
  509. overflow: hidden;
  510. padding: 40px;
  511. box-sizing: border-box;
  512. .img {
  513. margin-right: 32px;
  514. img {
  515. width: 168px;
  516. height: 224px;
  517. }
  518. }
  519. .rightUp {
  520. margin: 0;
  521. width: 72px;
  522. height: 72px;
  523. background: url("../assets/textBookDetail/Rectangle903.png");
  524. position: absolute;
  525. right: 0;
  526. top: 0;
  527. // text-align: right;
  528. span {
  529. display: inline-block;
  530. color: #fff;
  531. transform: rotateZ(45deg);
  532. position: absolute;
  533. left: 30px;
  534. top: 15px;
  535. }
  536. }
  537. .text {
  538. width: 900px;
  539. color: white;
  540. p {
  541. font-size: 16px;
  542. margin: 0;
  543. }
  544. .p1 {
  545. font-size: 40px;
  546. font-weight: normal;
  547. font-size: 40px;
  548. line-height: 150%;
  549. color: #ffffff;
  550. }
  551. > :not(.p1) {
  552. margin-top: 16px;
  553. }
  554. .p2 {
  555. font-weight: 600;
  556. font-size: 16px;
  557. line-height: 150%;
  558. color: #ffffff;
  559. }
  560. .p3 {
  561. font-weight: normal;
  562. font-size: 16px;
  563. line-height: 150%;
  564. color: #ffffff;
  565. }
  566. .price {
  567. font-size: 24px;
  568. .price_2 {
  569. font-size: 16px;
  570. }
  571. }
  572. .operation {
  573. display: flex;
  574. align-items: center;
  575. margin-top: 16px;
  576. }
  577. .get {
  578. width: 120px;
  579. height: 40px;
  580. background: #ff9900;
  581. border-radius: 4px;
  582. border: none;
  583. outline: none;
  584. color: white;
  585. font-size: 20px;
  586. margin-left: 30px;
  587. cursor: pointer;
  588. }
  589. .acquired {
  590. width: 120px;
  591. height: 40px;
  592. background: #d5d5d5;
  593. border-radius: 4px;
  594. border: none;
  595. outline: none;
  596. color: white;
  597. font-size: 16px;
  598. margin-left: 30px;
  599. cursor: pointer;
  600. }
  601. .enshrine {
  602. margin-left: 30px;
  603. img {
  604. width: 24px;
  605. cursor: pointer;
  606. }
  607. }
  608. }
  609. }
  610. .more {
  611. width: 1240px;
  612. margin: 0 auto;
  613. margin-top: 30px;
  614. .moreTitle {
  615. font-weight: 600;
  616. font-size: 20px;
  617. color: #000000;
  618. }
  619. .moreTitle::before {
  620. content: "|";
  621. background: #ff9900;
  622. color: #ff9900;
  623. margin-right: 16px;
  624. }
  625. .moreList {
  626. width: 1300px;
  627. margin: 0 auto;
  628. // margin-top: 20px;
  629. display: flex;
  630. flex-wrap: wrap;
  631. // overflow-y: hidden;
  632. // overflow-x: scroll;
  633. .moreOne {
  634. margin-right: 20px;
  635. margin-top: 20px;
  636. width: 598px;
  637. height: 236px;
  638. background: #ffffff;
  639. border-radius: 8px;
  640. display: flex;
  641. > div {
  642. margin-left: 32px;
  643. margin-top: 32px;
  644. img {
  645. width: 120px;
  646. height: 160px;
  647. }
  648. }
  649. .text {
  650. width: 390px;
  651. margin-right: 23px;
  652. > p:not(.p1) {
  653. font-size: 16px;
  654. color: #2c2c2c;
  655. opacity: 0.7;
  656. margin-top: 10px;
  657. }
  658. .p1 {
  659. font-weight: 600;
  660. font-size: 20px;
  661. color: #2c2c2c;
  662. }
  663. .operation {
  664. margin-top: 10px;
  665. text-align: right;
  666. }
  667. .get {
  668. width: 120px;
  669. height: 40px;
  670. background: #ff9900;
  671. border-radius: 4px;
  672. border: none;
  673. outline: none;
  674. color: white;
  675. font-size: 20px;
  676. margin-left: 30px;
  677. cursor: pointer;
  678. }
  679. .acquired {
  680. width: 120px;
  681. height: 40px;
  682. background: #d5d5d5;
  683. border-radius: 4px;
  684. border: none;
  685. outline: none;
  686. color: white;
  687. font-size: 16px;
  688. margin-left: 30px;
  689. cursor: pointer;
  690. }
  691. .price {
  692. font-size: 24px;
  693. .price_2 {
  694. font-size: 16px;
  695. }
  696. }
  697. }
  698. }
  699. }
  700. }
  701. .cutDownOrimg {
  702. width: 1240px;
  703. margin: 0 auto;
  704. margin-top: 24px;
  705. .sele {
  706. width: 318px;
  707. height: 48px;
  708. background: #ebebeb;
  709. border-radius: 30px;
  710. color: #9f9f9f;
  711. font-size: 20px;
  712. display: flex;
  713. align-items: center;
  714. > div {
  715. width: 158px;
  716. height: 48px;
  717. border-radius: 30px;
  718. line-height: 48px;
  719. text-align: center;
  720. cursor: pointer;
  721. }
  722. .select {
  723. background: #ff9900;
  724. color: white;
  725. box-shadow: 0px 2px 8px rgba(255, 153, 0, 0.15);
  726. }
  727. }
  728. }
  729. .Catalogue {
  730. margin: 24px auto;
  731. width: 1240px;
  732. height: 710px;
  733. background: #ffffff;
  734. display: flex;
  735. .left {
  736. width: 340px;
  737. height: 710px;
  738. border-right: 1px solid #d9d9d9;
  739. .title {
  740. width: 80%;
  741. margin: 29px auto;
  742. font-weight: 600;
  743. font-size: 24px;
  744. color: #000000;
  745. cursor: pointer;
  746. }
  747. .subtitle {
  748. width: 80%;
  749. margin: 0 auto;
  750. height: 44px;
  751. line-height: 44px;
  752. font-weight: bold;
  753. font-size: 14px;
  754. color: #000000;
  755. cursor: pointer;
  756. }
  757. }
  758. .right {
  759. width: 860px;
  760. height: 710px;
  761. }
  762. }
  763. .Resources {
  764. margin: 24px auto;
  765. width: 1240px;
  766. height: 710px;
  767. background: #ffffff;
  768. display: flex;
  769. box-sizing: border-box;
  770. padding: 20px 24px;
  771. div {
  772. height: 40px;
  773. margin: 12px 8px;
  774. border: 1px solid rgba(44, 44, 44, 0.15);
  775. border-radius: 4px;
  776. padding: 0 10px;
  777. display: flex;
  778. justify-content: center;
  779. align-items: center;
  780. cursor: pointer;
  781. img {
  782. width: 24px;
  783. margin: 0 10px;
  784. }
  785. span {
  786. width: 182px;
  787. overflow: hidden;
  788. text-overflow: ellipsis;
  789. white-space: nowrap;
  790. }
  791. }
  792. }
  793. }
  794. .noview-msg-box {
  795. width: 100%;
  796. position: absolute;
  797. top: 200px;
  798. left: 0;
  799. z-index: 9999;
  800. }
  801. .noview-msg {
  802. width: fit-content;
  803. margin: 0 auto;
  804. padding: 8px;
  805. background: #fcf5f5;
  806. border: 1px solid #e65959;
  807. box-sizing: border-box;
  808. border-radius: 4px;
  809. font-weight: 400;
  810. font-size: 12px;
  811. line-height: 14px;
  812. color: #e55959;
  813. }
  814. }
  815. </style>
  816. <style lang="scss">
  817. .buyWindow {
  818. .el-dialog__body {
  819. padding: 20px 32px;
  820. }
  821. .el-dialog__header {
  822. padding: 20px 32px 10px;
  823. }
  824. }
  825. </style>