createOrder.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816
  1. <template>
  2. <view class="padding-t-30">
  3. <view class="flex">
  4. <view class="">
  5. 收货方式
  6. </view>
  7. <view class="flex">
  8. <view class="">
  9. 配送
  10. </view>
  11. <view class="">
  12. 自提
  13. </view>
  14. </view>
  15. </view>
  16. <!-- 地址 -->
  17. <navigator v-if="tabCurrentIndex == 2" url="/pages/set/address?source=1" class="address-section">
  18. <view class="order-content" v-if="addressData.real_name">
  19. <view class="cen">
  20. <view class="top">
  21. <text class="name">{{ addressData.real_name }}</text>
  22. <text class="mobile">{{ addressData.phone }}</text>
  23. </view>
  24. <text
  25. class="address flex">{{ addressData.province + addressData.city + addressData.district }}{{ addressData.detail }}</text>
  26. </view>
  27. <text class="iconfont iconenter"></text>
  28. </view>
  29. <view class="order-content" v-if="!addressData.real_name">
  30. <view class="addAddress">
  31. <text class="iconfont iconaddition"></text>
  32. <text>添加收货地址</text>
  33. </view>
  34. </view>
  35. </navigator>
  36. <navigator v-if="tabCurrentIndex == 1" url="/pages/order/shopList" class="address-section">
  37. <view class="order-content" v-if="shopAddress.name">
  38. <text class="iconfont iconlocation"></text>
  39. <view class="cen">
  40. <view class="top">
  41. <text class="name">{{ shopAddress.name }}</text>
  42. <text class="mobile">{{ shopAddress.phone }}</text>
  43. </view>
  44. <text class="address">{{ shopAddress.address }}</text>
  45. </view>
  46. <text class="iconfont iconenter"></text>
  47. </view>
  48. <view class="order-content" v-if="!shopAddress.name">
  49. <view class="addAddress">
  50. <text class="iconfont iconaddition"></text>
  51. <text>添加收货地址</text>
  52. </view>
  53. </view>
  54. <image class="a-bg" :src="addressImg"></image>
  55. </navigator>
  56. <view class="goodsList">
  57. <view class="goods-section" v-for="(ls, ind) in shopList" :key="ind">
  58. <!-- 商品列表 -->
  59. <view class="g-item">
  60. <image :src="ls.productInfo.image"></image>
  61. <view class="right">
  62. <text class="title clamp">{{ ls.productInfo.store_name }}</text>
  63. <text class="spec">{{ ls.productInfo.attrInfo ? ls.productInfo.attrInfo.suk : '默认' }}</text>
  64. <view class="price-box">
  65. <text
  66. class="price">¥{{ ls.productInfo.attrInfo ? ls.productInfo.attrInfo.price : ls.productInfo.price }}</text>
  67. <text class="number">{{ 'x ' + ls.cart_num + (ls.productInfo.unit_name || '') }}</text>
  68. <!-- <view class="number">
  69. <uni-number-box class="step" :value="lss.number" :index="indx" @eventChange="numberChange"></uni-number-box>
  70. </view> -->
  71. </view>
  72. <view class="serverSet" v-if="ls.day>0">
  73. (<text>服务费:{{ls.day_deducted}}</text>
  74. <text class="margin-l-10">服务天数:{{ls.day}}天</text>)
  75. </view>
  76. </view>
  77. </view>
  78. </view>
  79. </view>
  80. <!-- 金额明细 -->
  81. <view class="yt-list">
  82. <view class="yt-list-cell b-b">
  83. <text class="cell-tit clamp">运费</text>
  84. <text class="cell-tip disabled">{{ Postage }}</text>
  85. </view>
  86. <view class="yt-list-cell b-b">
  87. <text class="cell-tit clamp">备注</text>
  88. <input class="desc" type="text" v-model="desc" placeholder="请填写备注信息" placeholder-class="placeholder" />
  89. </view>
  90. </view>
  91. <view class="yt-list">
  92. <view class="yt-list-cell b-b" v-if="fx" @click="payType='weixin'">
  93. <view class="cell-tit flex">
  94. <image class="orderIcon" src="../../static/icon/orderWx.png" mode="widthFix"></image>
  95. <text class="margin-l-10">微信支付</text>
  96. </view>
  97. <image class="checked" v-if="payType=='weixin'" src="../../static/icon/addressIconXz.png"
  98. mode="widthFix"></image>
  99. <view v-else class="noChecked"></view>
  100. </view>
  101. <!-- #ifdef APP-PLUS -->
  102. <view class="yt-list-cell b-b" @click="payType='ali'">
  103. <view class="cell-tit flex">
  104. <image class="orderIcon" src="../../static/icon/orderAli.png" mode="widthFix"></image>
  105. <text class="margin-l-10">支付宝</text>
  106. </view>
  107. <image class="checked" v-if="payType=='ali'" src="../../static/icon/addressIconXz.png" mode="widthFix">
  108. </image>
  109. <view v-else class="noChecked"></view>
  110. </view>
  111. <!-- #endif -->
  112. <view class="yt-list-cell b-b" @click="payType='yue'">
  113. <view class="cell-tit flex">
  114. <image class="orderIcon" src="../../static/icon/ye.png" mode="widthFix"></image>
  115. <text class="margin-l-10">余额({{now_money}})</text>
  116. </view>
  117. <image class="checked" v-if="payType=='yue'" src="../../static/icon/addressIconXz.png" mode="widthFix">
  118. </image>
  119. <view v-else class="noChecked"></view>
  120. </view>
  121. </view>
  122. <!-- 底部 -->
  123. <view class="footer">
  124. <view class="price-content">
  125. <text>实付款</text>
  126. <text class="price-tip">¥</text>
  127. <text class="price">{{ payPrice }}</text>
  128. </view>
  129. <text class="submit" :class="{submitNo:payLoding}" @click="payLoding?'':submit()">提交订单</text>
  130. </view>
  131. </view>
  132. </template>
  133. <script>
  134. import {
  135. mapState
  136. } from 'vuex';
  137. import {
  138. confirm,
  139. computedOrderkey,
  140. createOrderkey,
  141. orderPay
  142. } from '@/api/order.js';
  143. import {
  144. getUserInfo
  145. } from '@/api/user.js';
  146. // #ifdef H5
  147. import weixinObj from "@/plugin/jweixin-module/index.js";
  148. // #endif
  149. export default {
  150. data() {
  151. return {
  152. tabCurrentIndex:2,//1为自提2为配送
  153. // #ifdef APP
  154. payType: 'ali',
  155. // #ifndef
  156. // #ifndef APP
  157. payType: 'weixin',
  158. // #ifndef
  159. desc: '', //备注
  160. // 收货地址
  161. addressData: {},
  162. // 店铺地址
  163. shopAddress: {
  164. name: '',
  165. mobile: '',
  166. addressName: '',
  167. address: '',
  168. area: '',
  169. default: false,
  170. id: ''
  171. },
  172. // 商品列表
  173. shopList: [],
  174. // 购物车id
  175. cartId: '',
  176. //购物金额详情
  177. moneyAll: {
  178. storeFreePostage: 0, //邮费优惠
  179. storePostage: 0, //邮费
  180. totalPrice: 0, //总支付金额
  181. vipPrice: 0 //vip优惠价
  182. },
  183. payPrice: 0, //总支付金额
  184. orderKey: '', //订单id
  185. payLoding: false, //判断是否支付中
  186. orderId: '', //订单id
  187. now_money: 0, //余额
  188. onShopId: -1, //默认-1为不存在商家id
  189. system_store: [], //到店自提列表仓库
  190. };
  191. },
  192. onLoad(option) {
  193. // 保存当前商品在购物车中的id
  194. this.cartId = option.id;
  195. // 判断是否要读取商家id
  196. if (option.shopId) {
  197. this.onShopId = option.shopId;
  198. }
  199. this.loadData();
  200. this.userinfo();
  201. },
  202. computed: {
  203. Postage() {
  204. let money = +this.moneyAll.storePostage;
  205. if (money == 0) {
  206. return '免运费';
  207. } else {
  208. return '¥' + money;
  209. }
  210. },
  211. payAllMoney() {
  212. return +this.moneyAll.totalPrice + +this.moneyAll.vipPrice;
  213. },
  214. ...mapState('shop', ['shopDetail']),
  215. ...mapState(['fx'])
  216. },
  217. methods: {
  218. // 加载用户基础信息
  219. userinfo() {
  220. getUserInfo({}).then(({
  221. data
  222. }) => {
  223. this.now_money = data.now_money;
  224. });
  225. },
  226. // 计算支付金额
  227. payMoneyNub() {
  228. computedOrderkey({
  229. orderkey: this.orderKey,
  230. useIntegral: 0, //是否积分抵扣
  231. addressId: this.addressData.id //地址编号
  232. })
  233. .then(({
  234. data
  235. }) => {
  236. this.integralShow = true;
  237. // 获取支付金额
  238. this.payPrice = +data.result.pay_price;
  239. this.integralMoney = data.result.deduction_price;
  240. })
  241. .catch(e => {
  242. console.log(e);
  243. this.integralShow = false;
  244. });
  245. },
  246. // 加载基础数据
  247. loadData() {
  248. let obj = this;
  249. confirm({
  250. cartId: obj.cartId + ''
  251. }).then(({
  252. data
  253. }) => {
  254. obj.addressData = data.addressInfo || {};
  255. obj.shopList = data.cartInfo; //商品列表
  256. obj.moneyAll = data.priceGroup; //金额数据
  257. obj.orderKey = data.orderKey; //订单key
  258. obj.system_store = data.system_store;//到店自提列表
  259. obj.shopAddress = data.system_store[0]; //选中的地址
  260. // 计算金额
  261. this.payMoneyNub();
  262. });
  263. },
  264. // 提交订单
  265. submit() {
  266. let obj = this;
  267. if (!this.addressData.real_name) {
  268. this.$api.msg('请选择收货地址');
  269. return false;
  270. }
  271. // 判断是否余额不足
  272. if (obj.payType == 'yue' && +obj.now_money < obj.payPrice) {
  273. uni.showModal({
  274. title: '提示',
  275. content: '账户余额不足!',
  276. showCancel: false,
  277. });
  278. return;
  279. }
  280. uni.showLoading({
  281. title: '支付中',
  282. mask: true
  283. })
  284. // 支付中
  285. obj.payLoding = true;
  286. // 判断是否为未支付订单中跳转进入
  287. obj.firstCreateOrder();
  288. },
  289. // 订单金额支付
  290. orderMoneyPay() {
  291. let obj = this;
  292. orderPay({
  293. uni: obj.orderId,
  294. // #ifdef H5
  295. from: 'weixin', //来源
  296. // #endif
  297. // #ifdef MP-WEIXIN
  298. from: 'routine', //来源
  299. // #endif
  300. // #ifdef APP-PLUS
  301. from: 'app', //来源
  302. // #endif
  303. paytype: obj.payType //支付类型 weixin-微信 yue-余额
  304. })
  305. .then(e => {
  306. // 判断是否微信小程序支付
  307. if (obj.payType == 'weixin') {
  308. // #ifdef H5 || MP
  309. let da = e.data.result.jsConfig;
  310. let data = {
  311. nonceStr: da.nonceStr,
  312. package: da.package,
  313. signType: da.signType,
  314. paySign: da.paySign,
  315. success: function(res) {
  316. obj.paySuccessTo();
  317. },
  318. fail: () => {
  319. uni.navigateTo({
  320. url: '/pages/order/order?state=0'
  321. });
  322. }
  323. };
  324. // #endif
  325. // #ifdef H5
  326. data.timestamp = da.timestamp;
  327. weixinObj.chooseWXPay(data);
  328. // #endif
  329. // #ifdef MP-WEIXIN
  330. data.timeStamp = da.timestamp;
  331. wx.requestPayment(data);
  332. // #endif
  333. // #ifdef APP
  334. console.log( e.data.result.jsConfig,'返回数值');
  335. uni.requestPayment({
  336. provider: 'wxpay',
  337. orderInfo: e.data.result.jsConfig,
  338. success(e) {
  339. obj.paySuccessTo();
  340. },
  341. fail: (e) => {
  342. console.log(e,'支付失败');
  343. uni.navigateTo({
  344. url: '/pages/order/order?state=0'
  345. });
  346. }
  347. })
  348. // #endif
  349. }
  350. // #ifdef APP
  351. if(obj.payType == 'ali'){
  352. uni.requestPayment({
  353. provider: 'alipay',
  354. orderInfo: e.data.result.jsConfig,
  355. success(e) {
  356. obj.paySuccessTo();
  357. },
  358. fail: (e) => {
  359. console.log(e,'支付失败');
  360. uni.navigateTo({
  361. url: '/pages/order/order?state=0'
  362. });
  363. }
  364. })
  365. }
  366. // #endif
  367. uni.hideLoading();
  368. obj.payLoding = false;
  369. })
  370. .catch(e => {
  371. // 支付完成
  372. uni.hideLoading();
  373. obj.payLoding = false;
  374. console.log(e);
  375. });
  376. },
  377. // 支付成功跳转
  378. paySuccessTo() {
  379. uni.hideLoading();
  380. uni.redirectTo({
  381. url: '/pages/user/money/paySuccess?orderid=' + this.orderId,
  382. });
  383. },
  384. // 初次订单创建
  385. firstCreateOrder() {
  386. let obj = this;
  387. // 获取下单页面数据
  388. let prepage = obj;
  389. let data = {
  390. real_name: prepage.addressData.real_name, //联系人名称
  391. phone: prepage.addressData.phone, //联系人号码
  392. addressId: prepage.addressData.id, //支付地址id
  393. useIntegral: 0, //是否积分抵扣1为是0为否
  394. payType: obj.payType, //支付类型 weixin-微信 yue-余额
  395. mark: prepage.desc, //备注
  396. // #ifdef H5
  397. from: 'weixin', //来源
  398. // #endif
  399. // #ifdef MP-WEIXIN
  400. from: 'routine', //来源
  401. // #endif
  402. // #ifdef APP-PLUS
  403. from: 'app', //来源
  404. // #endif
  405. shipping_type: 1, //提货方式 1 快递 2自提
  406. };
  407. // 判断是否需要读取非默认商家id
  408. if (obj.onShopId != -1) {
  409. data.store_id = obj.onShopId;
  410. } else {
  411. data.store_id = obj.shopDetail.id;
  412. }
  413. // 生成订单
  414. createOrderkey(data, obj.orderKey)
  415. .then(({
  416. data,
  417. status,
  418. msg
  419. }) => {
  420. // 判断是否支付失败
  421. if (data.status == 'ORDER_EXIST') {
  422. uni.showModal({
  423. title: '提示',
  424. content: msg,
  425. showCancel: false
  426. });
  427. uni.hideLoading();
  428. obj.payLoding = false;
  429. return;
  430. }
  431. // 保存订单号
  432. obj.orderId = data.result.orderId;
  433. // 判断是否为余额支付
  434. if (obj.payType == 'yue') {
  435. console.log('余额支付', status == 200 && data.status == 'SUCCESS');
  436. if (status == 200 && data.status == 'SUCCESS') {
  437. obj.paySuccessTo();
  438. } else {
  439. obj.$api.msg(msg);
  440. }
  441. } else {
  442. // 立即支付
  443. obj.orderMoneyPay();
  444. }
  445. })
  446. .catch(e => {
  447. uni.hideLoading();
  448. obj.payLoding = false;
  449. console.log(e);
  450. });
  451. }
  452. }
  453. };
  454. </script>
  455. <style lang="scss">
  456. page {
  457. background: $page-color-base;
  458. padding-bottom: 100rpx;
  459. }
  460. .address-section {
  461. border-radius: 20rpx;
  462. padding: 30rpx;
  463. margin: 0 $page-row-spacing;
  464. background: #fff;
  465. position: relative;
  466. .order-content {
  467. min-height: 100rpx;
  468. display: flex;
  469. align-items: center;
  470. .leftIcon {
  471. width: 36rpx;
  472. margin: 0 30rpx;
  473. }
  474. .addAddress {
  475. text-align: center;
  476. width: 100%;
  477. display: flex;
  478. justify-content: center;
  479. align-items: center;
  480. .iconaddition {
  481. font-size: 55rpx;
  482. line-height: 1;
  483. border-radius: 100rpx;
  484. margin-right: 20rpx;
  485. }
  486. }
  487. }
  488. .iconlocation {
  489. flex-shrink: 0;
  490. display: flex;
  491. align-items: center;
  492. justify-content: center;
  493. width: 90rpx;
  494. color: #888;
  495. font-size: 44rpx;
  496. }
  497. .cen {
  498. display: flex;
  499. flex-direction: column;
  500. flex: 1;
  501. font-size: 28rpx;
  502. color: $font-color-dark;
  503. }
  504. .name {
  505. font-size: 34rpx;
  506. margin-right: 24rpx;
  507. }
  508. .address {
  509. margin-top: 16rpx;
  510. margin-right: 20rpx;
  511. color: $font-color-light;
  512. }
  513. .icon-you {
  514. font-size: 32rpx;
  515. color: $font-color-light;
  516. margin-right: 30rpx;
  517. }
  518. .a-bg {
  519. position: absolute;
  520. left: 0;
  521. bottom: 0;
  522. display: block;
  523. width: 100%;
  524. height: 5rpx;
  525. }
  526. }
  527. .goodsList {
  528. margin: 0 $page-row-spacing;
  529. padding: 30rpx;
  530. background: #fff;
  531. border-radius: 20rpx;
  532. margin-top: 30rpx;
  533. }
  534. .goods-section {
  535. .logo {
  536. display: block;
  537. width: 50rpx;
  538. height: 50rpx;
  539. border-radius: 100px;
  540. }
  541. .name {
  542. font-size: 30rpx;
  543. color: $font-color-base;
  544. margin-left: 24rpx;
  545. }
  546. .g-item {
  547. display: flex;
  548. image {
  549. flex-shrink: 0;
  550. display: block;
  551. width: 170rpx;
  552. height: 170rpx;
  553. border-radius: 4rpx;
  554. }
  555. .right {
  556. flex: 1;
  557. padding-left: 24rpx;
  558. overflow: hidden;
  559. .serverSet {
  560. font-size: 22rpx;
  561. color: $font-color-light;
  562. }
  563. }
  564. .title {
  565. font-size: 30rpx;
  566. color: $font-color-dark;
  567. }
  568. .spec {
  569. font-size: 26rpx;
  570. color: $font-color-light;
  571. }
  572. .price-box {
  573. display: flex;
  574. align-items: center;
  575. font-size: 32rpx;
  576. padding-top: 10rpx;
  577. color: $font-color-light;
  578. .price {
  579. margin-bottom: 4rpx;
  580. }
  581. .number {
  582. font-size: 26rpx;
  583. margin-left: 20rpx;
  584. }
  585. }
  586. .step-box {
  587. position: relative;
  588. }
  589. }
  590. }
  591. .yt-list {
  592. background: #fff;
  593. margin: 0 $page-row-spacing;
  594. margin-top: 30rpx;
  595. border-radius: 20rpx;
  596. }
  597. .yt-list-cell {
  598. display: flex;
  599. align-items: center;
  600. justify-content: space-between;
  601. padding: 10rpx 30rpx 10rpx 40rpx;
  602. line-height: 70rpx;
  603. position: relative;
  604. .checked,
  605. .noChecked {
  606. width: 36rpx;
  607. height: 36rpx;
  608. }
  609. .noChecked {
  610. border: 1px solid $font-color-light;
  611. border-radius: 100rpx;
  612. }
  613. &.cell-hover {
  614. background: #fafafa;
  615. }
  616. &.b-b:after {
  617. left: 30rpx;
  618. }
  619. .cell-icon {
  620. height: 32rpx;
  621. width: 32rpx;
  622. font-size: 22rpx;
  623. color: #fff;
  624. text-align: center;
  625. line-height: 32rpx;
  626. background: #f85e52;
  627. border-radius: 4rpx;
  628. margin-right: 12rpx;
  629. &.hb {
  630. background: #ffaa0e;
  631. }
  632. &.lpk {
  633. background: #3ab54a;
  634. }
  635. }
  636. .cell-more {
  637. align-self: center;
  638. font-size: 24rpx;
  639. color: $font-color-light;
  640. margin-left: 8rpx;
  641. margin-right: -10rpx;
  642. }
  643. .cell-tit {
  644. font-size: 26rpx;
  645. color: $font-color-light;
  646. margin-right: 10rpx;
  647. .orderIcon {
  648. width: 48rpx;
  649. }
  650. }
  651. .cell-tip {
  652. font-size: 26rpx;
  653. color: $font-color-dark;
  654. &.disabled {
  655. color: $font-color-light;
  656. }
  657. &.active {
  658. color: $base-color;
  659. }
  660. &.red {
  661. color: $base-color;
  662. }
  663. }
  664. &.desc-cell {
  665. .cell-tit {
  666. max-width: 90rpx;
  667. }
  668. }
  669. .desc {
  670. text-align: right;
  671. font-size: $font-base;
  672. color: $font-color-light;
  673. }
  674. }
  675. /* 支付列表 */
  676. .pay-list {
  677. padding-left: 40rpx;
  678. margin-top: 16rpx;
  679. background: #fff;
  680. .pay-item {
  681. display: flex;
  682. align-items: center;
  683. padding-right: 20rpx;
  684. line-height: 1;
  685. height: 110rpx;
  686. position: relative;
  687. }
  688. .icon-weixinzhifu {
  689. width: 80rpx;
  690. font-size: 40rpx;
  691. color: #6bcc03;
  692. }
  693. .icon-alipay {
  694. width: 80rpx;
  695. font-size: 40rpx;
  696. color: #06b4fd;
  697. }
  698. .icon-xuanzhong2 {
  699. display: flex;
  700. align-items: center;
  701. justify-content: center;
  702. width: 60rpx;
  703. height: 60rpx;
  704. font-size: 40rpx;
  705. color: $base-color;
  706. }
  707. .tit {
  708. font-size: 32rpx;
  709. color: $font-color-dark;
  710. flex: 1;
  711. }
  712. }
  713. .footer {
  714. position: fixed;
  715. left: 0;
  716. bottom: 0;
  717. z-index: 995;
  718. display: flex;
  719. align-items: center;
  720. width: 100%;
  721. height: 90rpx;
  722. justify-content: space-between;
  723. font-size: 30rpx;
  724. background-color: #fff;
  725. z-index: 998;
  726. color: $font-color-base;
  727. box-shadow: 0 -1px 5px rgba(0, 0, 0, 0.1);
  728. .price-content {
  729. padding-left: 30rpx;
  730. }
  731. .price-tip {
  732. color: $font-color-base;
  733. margin-left: 8rpx;
  734. }
  735. .price {
  736. font-size: 36rpx;
  737. color: $font-color-base;
  738. }
  739. .submit {
  740. display: flex;
  741. align-items: center;
  742. justify-content: center;
  743. width: 280rpx;
  744. height: 100%;
  745. color: #fff;
  746. font-size: 32rpx;
  747. background-color: $base-color;
  748. &.submitNo {
  749. background-color: $font-color-disabled;
  750. }
  751. }
  752. }
  753. </style>