index.vue 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744
  1. <template>
  2. <view class="payment_bg">
  3. <view class="payment_info"
  4. :style="{ 'background': `url(${currentScale.infoImg}) no-repeat center`, 'background-size': 'cover' }">
  5. <view class=" people_num"><text>{{ peopleNum }}人已测</text></view>
  6. <view class="price_num"><text>¥{{ price }}</text></view>
  7. <view class="pay_btn_sm" @click="payHandle">{{ promotionPrice }}元解锁专属测试报告</view>
  8. </view>
  9. <view v-if="currentScale.showDesc" class="payment_desc">
  10. <image v-if="currentScale" :src="currentScale.descImg" mode="widthFix"></image>
  11. </view>
  12. <view class="top_footer">
  13. <template v-if="hasDiscount">
  14. <view class="pay_price">
  15. <view class="pay_price_p">
  16. <view class="price_left">
  17. <view class="yh">
  18. <view class="yh_title">限时优惠</view>
  19. <view class="yh_yj"><text>原价</text><text>¥{{ price }}</text></view>
  20. </view>
  21. <view class="price_center"><text
  22. style="font-size: 40rpx;margin-left: 10rpx;">¥</text><text>{{ promotionPrice }}</text>
  23. </view>
  24. </view>
  25. <view class="price_right">
  26. <text>{{ getPriceMod(price, promotionPrice) }}</text>
  27. </view>
  28. </view>
  29. </view>
  30. </template>
  31. <view class="pay_btn_lg" @click="payHandle">
  32. {{ hasDiscount ? promotionPrice : price }}元解锁专属测试报告
  33. </view>
  34. <view v-if="hasDiscount"
  35. style="display: flex;justify-content: center; align-items: center; margin: 20rpx 0;">
  36. <!-- <view class="people_sy"> 本次优惠剩余名额:{{residueNum}} </view> -->
  37. <view class="people_sy_time">
  38. <!-- <uni-countdown :show-day="false" :hour="testHour" :minute="testMinute" :second="testSecond" /> -->
  39. <text>优惠倒计时:</text><uni-countdown :show-day="true" background-color="#FF9D41" color="#ffffff"
  40. :start="start" :hour="testHour" :minute="testMinute" :second="testSecond" />
  41. </view>
  42. </view>
  43. </view>
  44. <uni-popup ref="popup" type="center">
  45. <view class="pay_dialog">
  46. <view class="btn_area">
  47. <image style="margin-right: 89rpx;" @click="completeHandle"
  48. src="https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/complete_btn.png"
  49. mode="widthFix"></image>
  50. <image @click="uncompleteHandle"
  51. src="https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/uncomplete_btn.png"
  52. mode="widthFix"></image>
  53. </view>
  54. </view>
  55. </uni-popup>
  56. </view>
  57. </template>
  58. <script>
  59. import {
  60. timestampFormatter
  61. } from '../../utils/util.js'
  62. import {
  63. photoUrl
  64. } from "@/common/config.js"
  65. const photoUrls = `${photoUrl}/api/show?filePath=./webo`
  66. export default {
  67. data() {
  68. return {
  69. scaleList: {
  70. 'MarriageQuality': {
  71. infoImg: `${photoUrls}/MarriageQuality/pay_scale_info.png`,
  72. descImg: `${photoUrls}/MarriageQuality/pay_scale_desc.png`,
  73. flag: '20220124203027',
  74. showDesc: true
  75. },
  76. 'Burnout': {
  77. infoImg: `${photoUrls}/Burnout/pay_scale_info.png`,
  78. descImg: `${photoUrls}/Burnout/pay_scale_desc.png`,
  79. flag: '20210804162506',
  80. showDesc: true
  81. },
  82. 'Career': {
  83. infoImg: `${photoUrls}/Career/pay_scale_info.png`,
  84. descImg: `${photoUrls}/Career/pay_scale_desc.png`,
  85. flag: '20210804165314',
  86. showDesc: true
  87. },
  88. 'Charm': {
  89. infoImg: `${photoUrls}/Charm/paymentPage/pay_scale_info.png`,
  90. descImg: `${photoUrls}/Charm/paymentPage/pay_scale_desc.png`,
  91. flag: '20210804164957',
  92. showDesc: true
  93. },
  94. 'EQtest': {
  95. infoImg: `${photoUrls}/EQtest/paymentPage/pay_scale_info.png`,
  96. descImg: `${photoUrls}/EQtest/paymentPage/pay_scale_desc.png`,
  97. flag: '20210820143117',
  98. showDesc: true
  99. },
  100. 'Family': {
  101. infoImg: `${photoUrls}/Family/pay_scale_info.png`,
  102. descImg: `${photoUrls}/Family/pay_scale_desc.png`,
  103. flag: '20210622214416',
  104. showDesc: true
  105. },
  106. 'Marriage': {
  107. infoImg: `${photoUrls}/Marriage/pay_scale_info.png`,
  108. descImg: `${photoUrls}/Marriage/pay_scale_desc.png`,
  109. flag: '20210804165314',
  110. showDesc: true
  111. },
  112. 'Mbti': {
  113. infoImg: `${photoUrls}/Mbti/paymentPage/pay_scale_info.png`,
  114. descImg: `${photoUrls}/Mbti/paymentPage/pay_scale_desc.png`,
  115. flag: '20211020113914',
  116. showDesc: true
  117. },
  118. 'Mental': {
  119. infoImg: `${photoUrls}/Mental/paymentPage/pay_scale_info.png`,
  120. descImg: `${photoUrls}/Mental/paymentPage/pay_scale_desc.png`,
  121. flag: '20210616235331',
  122. showDesc: true
  123. },
  124. 'Senile': {
  125. infoImg: `${photoUrls}/Senile/paymentPage/pay_scale_info.png`,
  126. descImg: `${photoUrls}/Senile/paymentPage/pay_scale_desc.png`,
  127. flag: '20210804165314',
  128. showDesc: true
  129. },
  130. 'Sleep': {
  131. infoImg: `${photoUrls}/Sleep/paymentPage/pay_scale_info.png`,
  132. descImg: `${photoUrls}/Sleep/paymentPage/pay_scale_desc.png`,
  133. flag: '20210725100704',
  134. showDesc: true
  135. },
  136. },
  137. scaleName: '',
  138. currentScale: null,
  139. orderNo: '',
  140. orderInfo: {},
  141. peopleNum: 0,
  142. residueNum: 0, // 剩余名额
  143. price: 0, // 正常价格
  144. promotionPrice: 0, // 优惠价格
  145. promotionEndTime: 0, // 结束时间(时间戳)
  146. testHour: 0, // 时
  147. testMinute: 0, // 分
  148. testSecond: 0, // 秒
  149. start: false,
  150. userInfo: {}
  151. }
  152. },
  153. onLoad(options) {
  154. if (options.orderNo) {
  155. this.orderNo = options.orderNo;
  156. setTimeout(() => {
  157. this.payEnsure();
  158. }, 200)
  159. }
  160. if (options && options.tName) {
  161. this.scaleName = options.tName;
  162. this.currentScale = this.scaleList[options.tName];
  163. }
  164. if (options && options.resultId) {
  165. this.resultId = options.resultId;
  166. }
  167. this.userInfo = uni.getStorageSync('user');
  168. this.getPeople();
  169. this.queryPromotion();
  170. },
  171. computed: {
  172. // 是否有折扣
  173. hasDiscount() {
  174. let timeSpan = new Date().getTime();
  175. let endTime = this.promotionEndTime - timeSpan;
  176. return this.residueNum > 0 && endTime > 0
  177. }
  178. },
  179. methods: {
  180. payHandle() {
  181. // #ifdef H5
  182. this.getH5Pay();
  183. // #endif
  184. // #ifdef MP-TOUTIAO
  185. this.createOrder();
  186. // #endif
  187. },
  188. // 检查订单支付状态
  189. checkOrder() {
  190. let _this = this;
  191. _this.$request
  192. .get({
  193. url: `api/wx-pay/queryOrder/${_this.orderNo}`,
  194. loadingTip: "加载中...",
  195. data: {},
  196. })
  197. .then((res) => {
  198. uni.hideLoading();
  199. let resultInfo = JSON.parse(res.data.body)
  200. if (resultInfo.trade_state === 'SUCCESS') {
  201. uni.navigateTo({
  202. url: `/newScale/${this.scaleName}/testResult?resultId=${this.orderInfo.resultId}&messageShare=1`
  203. });
  204. } else {
  205. return;
  206. }
  207. });
  208. },
  209. // 拉起微信支付
  210. getH5Pay(params) {
  211. this.orderInfo.total = this.hasDiscount ? this.promotionPrice : this.price;
  212. if (this.orderInfo.total > 0) {
  213. let _this = this;
  214. _this.$request
  215. .get({
  216. url: `api/orderInfo/queryOrderByResultIdAndUserId/${this.orderInfo.userId}/${this.orderInfo.resultId}`,
  217. loadingTip: "加载中...",
  218. data: {},
  219. })
  220. .then((res) => {
  221. uni.hideLoading();
  222. if (res.data && res.data.orderStatus === '支付成功') {
  223. uni.navigateTo({
  224. url: `/newScale/${this.scaleName}/testResult?resultId=${this.orderInfo.resultId}&messageShare=1`
  225. });
  226. } else {
  227. _this.$request
  228. .post({
  229. url: "api/wx-pay/h5Pay",
  230. loadingTip: "加载中...",
  231. data: _this.orderInfo
  232. })
  233. .then((res) => {
  234. let redirect_url = encodeURIComponent(
  235. `https://hnhong-duo.com/webo/newScale/paymentPage/index?orderNo=${res.data.orderNo}&tName=${_this.scaleName}&resultId=${this.resultId}`
  236. )
  237. window.location.href = `${res.data.codeUrl}&redirect_url=${redirect_url}`;
  238. });
  239. }
  240. });
  241. } else {
  242. uni.navigateTo({
  243. url: `/newScale/EQtest/testResult?resultId=${this.resultId}&messageShare=1`
  244. });
  245. }
  246. },
  247. createOrder() {
  248. let _this = this;
  249. let params = {
  250. resultId: _this.orderInfo.resultId,
  251. subject: _this.orderInfo.description,
  252. body: _this.orderInfo.description,
  253. total_amount: _this.orderInfo.total * 100,
  254. msgPage: "",
  255. }
  256. _this.$request
  257. .post({
  258. url: "api/douyin/createOrder",
  259. loadingTip: "加载中...",
  260. data: params
  261. })
  262. .then((res) => {
  263. _this.orderNo = res.data.orderNo;
  264. let imageUrl = 'https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/banner1.png';
  265. _this.payToutiao(
  266. res.data.orderId,
  267. res.data.orderToken,
  268. res.data.orderNo
  269. );
  270. });
  271. },
  272. payToutiao(orderId, orderToken, orderNo) {
  273. let _this = this;
  274. tt.pay({
  275. orderInfo: {
  276. order_id: orderId,
  277. order_token: orderToken,
  278. },
  279. service: 5,
  280. success: (response) => {
  281. _this.timer = setInterval(() => {
  282. _this.getQueryOrder(orderNo);
  283. }, 1000);
  284. },
  285. fail: (err) => {
  286. uni.showToast({
  287. icon: "none",
  288. name: "支付失败",
  289. });
  290. },
  291. });
  292. },
  293. // 订单状态
  294. getQueryOrder(orderNo) {
  295. let _this = this;
  296. _this.$request
  297. .get({
  298. url: `api/douyin/queryOrder/${orderNo}`,
  299. loadingTip: "加载中...",
  300. data: {},
  301. })
  302. .then((res) => {
  303. if (res.code == "200") {
  304. if (res.data.statusCode == "SUCCESS") {
  305. let imageUrl =
  306. 'https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/banner1.png';
  307. uni.navigateTo({
  308. url: `/newScale/${this.scaleName}/testResult?resultId=${_this.orderInfo.resultId}&messageShare=1`
  309. });
  310. clearInterval(_this.timer);
  311. uni.showToast({
  312. title: "支付成功",
  313. });
  314. } else if (res.data.statusCode == "CLOSED") {
  315. // console.log("订单支付回调成功===========CLOSED》", _this.trade_state_closed );
  316. } else {
  317. clearInterval(_this.timer);
  318. // console.log("订单支付回调成功CLOSED===========》", _this.trade_state_closed);
  319. }
  320. } else {
  321. uni.showToast({
  322. title: "支付失败",
  323. });
  324. }
  325. });
  326. },
  327. // 查询测试人数
  328. getPeople() {
  329. let _this = this;
  330. _this.$request
  331. .get({
  332. url: `record/countByFlag?flag=${this.currentScale.flag}`,
  333. loadingTip: "加载中..."
  334. })
  335. .then((res) => {
  336. _this.peopleNum = res.data + 57000
  337. });
  338. },
  339. payEnsure() {
  340. // console.log(11111)
  341. this.$refs.popup.open();
  342. },
  343. uncompleteHandle() {
  344. this.$refs.popup.close();
  345. },
  346. completeHandle() {
  347. uni.showLoading({
  348. title: ''
  349. });
  350. this.checkOrder();
  351. },
  352. // 查询优惠信息
  353. queryPromotion() {
  354. let _this = this;
  355. _this.$request
  356. .get({
  357. url: `api/promotionInfo/queryPromotionDetail/${this.currentScale.flag}`,
  358. loadingTip: "加载中...",
  359. data: {},
  360. })
  361. .then((res) => {
  362. let {
  363. price,
  364. name,
  365. residueNum,
  366. promotionPrice,
  367. promotionEndTime
  368. } = res.data;
  369. let params = {
  370. productId: this.currentScale.flag,
  371. userId: this.userInfo?.id,
  372. resultId: this.resultId,
  373. description: name,
  374. total: price,
  375. sceneType: uni.getSystemInfoSync().platform == "android" ?
  376. "Android" : "iOS",
  377. };
  378. this.orderInfo = params;
  379. uni.setStorageSync('orderInfo', params);
  380. this.residueNum = residueNum;
  381. this.price = price;
  382. this.promotionPrice = promotionPrice;
  383. this.promotionEndTime = new Date(promotionEndTime).getTime()
  384. this.getDhms();
  385. uni.hideLoading();
  386. });
  387. },
  388. // 获取天时分秒
  389. getDhms() {
  390. let timeSpan = this.promotionEndTime - new Date().getTime();
  391. let time = timestampFormatter(timeSpan);
  392. this.testHour = time.h;
  393. this.testMinute = time.m;
  394. this.testSecond = time.s;
  395. this.start = true;
  396. },
  397. getPriceMod(p1, p2) {
  398. let p = p1 * 1000 - p2 * 1000;
  399. return (p / 1000).toFixed(2);
  400. }
  401. }
  402. }
  403. </script>
  404. <style scoped>
  405. .payment_bg {
  406. width: 100%;
  407. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/payment_bg.png) no-repeat top;
  408. background-size: 100% auto;
  409. overflow: hidden;
  410. padding-bottom: 311rpx;
  411. }
  412. .payment_info {
  413. width: 750rpx;
  414. height: 531rpx;
  415. position: relative;
  416. margin-top: 143rpx;
  417. overflow: hidden;
  418. }
  419. .payment_info image {
  420. width: 100%;
  421. height: auto;
  422. margin-top: 134rpx;
  423. }
  424. .payment_info .pay_btn_sm {
  425. width: 640rpx;
  426. height: 73rpx;
  427. line-height: 73rpx;
  428. position: absolute;
  429. left: 55rpx;
  430. bottom: 73rpx;
  431. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/pay_button.png) no-repeat center;
  432. background-size: 100% auto;
  433. font-family: 'Alibaba PuHuiTi 2.0';
  434. font-weight: bold;
  435. font-size: 36rpx;
  436. color: #FFFFFF;
  437. text-shadow: 0rpx 0rpx 5rpx rgba(168, 63, 90, 0.5);
  438. text-align: center;
  439. }
  440. .payment_desc image {
  441. width: 750rpx;
  442. }
  443. .pay_btn_lg {
  444. width: 640rpx;
  445. height: 73rpx;
  446. line-height: 73rpx;
  447. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/pay_button.png) no-repeat center;
  448. background-size: 100% auto;
  449. font-family: 'Alibaba PuHuiTi 2.0';
  450. font-weight: bold;
  451. font-size: 36rpx;
  452. color: #FFFFFF;
  453. text-shadow: 0rpx 0rpx 5rpx rgba(168, 63, 90, 0.5);
  454. text-align: center;
  455. margin: 20rpx auto 20rpx;
  456. }
  457. .pay_dialog {
  458. width: 594rpx;
  459. height: 360rpx;
  460. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/dialog_bg.png) no-repeat top;
  461. background-size: cover;
  462. position: fixed;
  463. top: 540rpx;
  464. left: 50%;
  465. transform: translate(-50%, -50%);
  466. }
  467. .btn_area {
  468. margin: 240rpx 0 0 96rpx;
  469. }
  470. .btn_area image {
  471. width: 160rpx;
  472. }
  473. .btn_area image:active {
  474. border: 1rpx solid #999999;
  475. opacity: 0.8;
  476. border-radius: 28rpx;
  477. }
  478. .people_num {
  479. margin-top: 197rpx;
  480. }
  481. .people_num text {
  482. min-width: 157rpx;
  483. height: 44rpx;
  484. padding: 0 10rpx;
  485. background: #FFEDF1;
  486. border-radius: 22rpx;
  487. font-family: 'Alibaba PuHuiTi 2.0';
  488. font-size: 28rpx;
  489. color: #FC716D;
  490. line-height: 44rpx;
  491. text-align: center;
  492. margin-left: 373rpx;
  493. }
  494. .price_num {
  495. margin-top: 62rpx;
  496. }
  497. .price_num text {
  498. min-width: 74rpx;
  499. font-family: 'Alibaba PuHuiTi 2.0';
  500. font-weight: normal;
  501. font-size: 32rpx;
  502. color: #FC716D;
  503. line-height: 24rpx;
  504. margin-left: 374rpx;
  505. }
  506. .top_footer {
  507. width: 750rpx;
  508. background: #FFFFFF;
  509. padding-bottom: 20rpx;
  510. position: fixed;
  511. bottom: 0;
  512. }
  513. .pay_price {
  514. box-sizing: border-box;
  515. display: flex;
  516. justify-content: space-between;
  517. align-items: center;
  518. width: 100%;
  519. padding: 10px 50rpx 0 50rpx;
  520. }
  521. .pay_price_y {
  522. font-family: 'Alibaba PuHuiTi 2.0';
  523. font-weight: normal;
  524. font-size: 24rpx;
  525. color: #FF2F29;
  526. line-height: 16rpx;
  527. }
  528. .pay_price_p {
  529. width: 100%;
  530. display: flex;
  531. justify-content: space-between;
  532. }
  533. .price_left {
  534. display: flex;
  535. }
  536. .yh_title {
  537. font-family: 'Alibaba PuHuiTi 2.0';
  538. font-weight: normal;
  539. font-size: 35rpx;
  540. color: #FF2F29;
  541. margin-top: 21rpx;
  542. }
  543. .yh_yj {
  544. font-family: 'Alibaba PuHuiTi 2.0';
  545. font-weight: normal;
  546. font-size: 24rpx;
  547. color: #999999;
  548. text-decoration-line: line-through;
  549. }
  550. .price_center {
  551. font-family: 'Alibaba PuHuiTi 2.0';
  552. font-weight: bold;
  553. font-size: 78rpx;
  554. color: #FF2F29;
  555. margin-top: 7rpx;
  556. }
  557. .price_right {
  558. width: 176rpx;
  559. height: 70rpx;
  560. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/MarriageQuality/lijian.png) no-repeat;
  561. background-size: cover;
  562. padding-top: 50rpx;
  563. }
  564. .price_right text {
  565. font-family: 'Alibaba PuHuiTi 2.0';
  566. font-weight: bold;
  567. font-size: 32rpx;
  568. color: #FFFFFF;
  569. margin-left: 35rpx;
  570. }
  571. .radio_class {
  572. display: flex;
  573. background-color: #ffffff;
  574. margin-bottom: 10px;
  575. padding-left: 10px;
  576. padding-right: 10px;
  577. padding-top: 5px;
  578. border-radius: 5px;
  579. padding-bottom: 5px;
  580. align-items: center;
  581. }
  582. .radio_class_1 {
  583. display: flex;
  584. justify-content: space-around;
  585. }
  586. .pay_title {
  587. text-align: center;
  588. /* margin-top:38px; */
  589. font-size: 20px;
  590. font-family: AlibabaPuHuiTi-Heavy, AlibabaPuHuiTi;
  591. font-weight: 900;
  592. color: #500000;
  593. line-height: 101px;
  594. }
  595. .top_page_yh {
  596. font-size: 14px;
  597. font-family: Source Han Sans-Regular, Source Han Sans;
  598. font-weight: 400;
  599. color: #656c74;
  600. line-height: 20px;
  601. }
  602. .main_scale_gmcp {
  603. display: flex;
  604. justify-content: center;
  605. align-items: center;
  606. }
  607. .main_scale_font_gmcp {
  608. font-size: 16px;
  609. font-family: Source Han Sans-Medium, Source Han Sans;
  610. font-weight: 700;
  611. color: #040000;
  612. }
  613. .main_xing_left {
  614. height: 30px;
  615. width: 20px;
  616. margin-right: 20px;
  617. }
  618. .main_xing_right {
  619. height: 30px;
  620. width: 20px;
  621. margin-left: 20px;
  622. }
  623. .scale_gmcp_connent {
  624. margin-top: 10px;
  625. background-color: #ffffff;
  626. border-radius: 10px 10px 10px 10px;
  627. opacity: 1;
  628. padding: 24px 15px;
  629. margin-bottom: 200px;
  630. overflow-y: scroll;
  631. }
  632. .pub_time {
  633. margin-top: 5px;
  634. font-size: 12px;
  635. font-family: Source Han Sans-Regular, Source Han Sans;
  636. font-weight: 400;
  637. color: #c4c4c4;
  638. line-height: 17px;
  639. }
  640. .pub_connnet {
  641. font-size: 14px;
  642. font-family: Source Han Sans-Regular, Source Han Sans;
  643. font-weight: 400;
  644. color: #3d3d3d;
  645. line-height: 20px;
  646. }
  647. .people_sy {
  648. font-size: 14px;
  649. font-family: Source Han Sans-Regular, Source Han Sans;
  650. font-weight: 400;
  651. color: #656c74;
  652. line-height: 20px;
  653. margin-left: 4px;
  654. }
  655. .people_sy_time {
  656. font-family: 'Alibaba PuHuiTi 2.0';
  657. font-weight: normal;
  658. font-size: 32rpx;
  659. color: #333333;
  660. line-height: 16rpx;
  661. display: flex;
  662. margin-right: 4px;
  663. display: flex;
  664. justify-content: center;
  665. align-items: center;
  666. }
  667. .time_ol {
  668. background: linear-gradient(270deg, #ff9d41 0%, #fc3c3c 100%);
  669. border-radius: 4px 4px 4px 4px;
  670. padding: 2px;
  671. color: #ffffff;
  672. }
  673. .time_mao {
  674. color: #ff9d41;
  675. }
  676. .pro_tag {
  677. height: 62rpx;
  678. padding: 0 20rpx;
  679. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/Charm/paymentPage/price_bg.png) no-repeat center;
  680. border-radius: 40rpx 40rpx 40rpx 40rpx;
  681. margin-left: 16rpx;
  682. color: #ffffff;
  683. display: flex;
  684. align-items: center;
  685. font-family: 'Alibaba PuHuiTi 2.0';
  686. font-weight: normal;
  687. font-size: 24rpx;
  688. color: #FFFFFF;
  689. .price {
  690. font-family: 'Alibaba PuHuiTi 2.0';
  691. font-weight: bold;
  692. font-size: 40rpx;
  693. color: #FFFFFF;
  694. line-height: 16rpx;
  695. }
  696. }
  697. </style>