index.vue 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791
  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="checkOrder(1)">{{ hasDiscount ? promotionPrice : price }}元解锁专属测试报告</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="checkOrder(1)">
  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: '20210714221054',
  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: '20210714220600',
  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. checkType: 0
  152. }
  153. },
  154. onLoad(options) {
  155. if (options.orderNo) {
  156. this.orderNo = options.orderNo;
  157. setTimeout(() => {
  158. this.payEnsure();
  159. }, 200)
  160. }
  161. if (options && options.tName) {
  162. this.scaleName = options.tName;
  163. this.currentScale = this.scaleList[options.tName];
  164. }
  165. if (options && options.resultId) {
  166. this.resultId = options.resultId;
  167. }
  168. this.userInfo = uni.getStorageSync('user');
  169. this.getPeople();
  170. this.queryPromotion();
  171. },
  172. computed: {
  173. // 是否有折扣
  174. hasDiscount() {
  175. let timeSpan = new Date().getTime();
  176. let endTime = this.promotionEndTime - timeSpan;
  177. return this.residueNum > 0 && endTime > 0
  178. }
  179. },
  180. methods: {
  181. payHandle() {
  182. // #ifdef H5
  183. this.getH5Pay();
  184. // #endif
  185. // #ifdef MP-TOUTIAO
  186. this.createOrder();
  187. // #endif
  188. },
  189. // 检查订单支付状态
  190. checkOrder(type) {
  191. let _this = this;
  192. if (_this.orderNo) {
  193. _this.$request
  194. .get({
  195. url: `api/wx-pay/queryOrder/${_this.orderNo}`,
  196. loadingTip: "加载中...",
  197. data: {},
  198. })
  199. .then((res) => {
  200. uni.hideLoading();
  201. let resultInfo = JSON.parse(res.data.body)
  202. if (resultInfo.trade_state === 'SUCCESS') {
  203. uni.navigateTo({
  204. url: `/newScale/${this.scaleName}/testResult?resultId=${this.orderInfo.resultId}&messageShare=1`
  205. });
  206. } else {
  207. if (type == 0) {
  208. return
  209. } else {
  210. this.payHandle();
  211. }
  212. }
  213. });
  214. } else {
  215. this.payHandle();
  216. }
  217. },
  218. // 拉起微信支付
  219. getH5Pay(params) {
  220. this.orderInfo.total = this.hasDiscount ? this.promotionPrice : this.price;
  221. if (this.orderInfo.total === 0) {
  222. uni.navigateTo({
  223. url: `/newScale/${this.scaleName}/testResult?resultId=${this.resultId}&messageShare=1`
  224. });
  225. } else if (this.orderInfo.total > 0) {
  226. let _this = this;
  227. _this.$request
  228. .get({
  229. url: `api/orderInfo/queryOrderByResultIdAndUserId/${this.orderInfo.userId}/${this.orderInfo.resultId}`,
  230. loadingTip: "加载中...",
  231. data: {},
  232. })
  233. .then((res) => {
  234. uni.hideLoading();
  235. if (res.data && res.data.orderStatus === '支付成功') {
  236. uni.navigateTo({
  237. url: `/newScale/${this.scaleName}/testResult?resultId=${this.orderInfo.resultId}&messageShare=1`
  238. });
  239. } else {
  240. _this.$request
  241. .post({
  242. url: "api/wx-pay/h5Pay",
  243. loadingTip: "加载中...",
  244. data: _this.orderInfo
  245. })
  246. .then((res) => {
  247. let redirect_url = encodeURIComponent(
  248. `https://guya-tech.com/webo/newScale/paymentPage/index?orderNo=${res.data.orderNo}&tName=${_this.scaleName}&resultId=${this.resultId}`
  249. )
  250. window.location.href = `${res.data.codeUrl}&redirect_url=${redirect_url}`;
  251. });
  252. }
  253. });
  254. }
  255. },
  256. createOrder() {
  257. let _this = this;
  258. this.orderInfo.total = this.hasDiscount ? this.promotionPrice : this.price;
  259. let params = {
  260. resultId: _this.orderInfo.resultId,
  261. subject: _this.orderInfo.description,
  262. body: _this.orderInfo.description,
  263. total_amount: _this.orderInfo.total * 100,
  264. msgPage: "",
  265. }
  266. _this.$request
  267. .post({
  268. url: "api/douyin/createOrder",
  269. loadingTip: "加载中...",
  270. data: params
  271. })
  272. .then((res) => {
  273. _this.orderNo = res.data.orderNo;
  274. let imageUrl = 'https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/banner1.png';
  275. _this.syncOrder({
  276. resultId: params.resultId,
  277. total_amount: params.total_amount,
  278. subject: params.subject,
  279. path: `/newScale/${this.scaleName}/testResult?resultId=${this.orderInfo.resultId}&messageShare=1`,
  280. orderNo: _this.orderNo,
  281. openId: uni.getStorageSync("openId"),
  282. orderStatus: "1",
  283. imgPath: imageUrl,
  284. });
  285. _this.payToutiao(
  286. res.data.orderId,
  287. res.data.orderToken,
  288. res.data.orderNo
  289. );
  290. });
  291. },
  292. payToutiao(orderId, orderToken, orderNo) {
  293. let _this = this;
  294. tt.pay({
  295. orderInfo: {
  296. order_id: orderId,
  297. order_token: orderToken,
  298. },
  299. service: 5,
  300. success: (response) => {
  301. _this.timer = setInterval(() => {
  302. _this.getQueryOrder(orderNo);
  303. }, 1000);
  304. },
  305. fail: (err) => {
  306. uni.showToast({
  307. icon: "none",
  308. name: "支付失败",
  309. });
  310. },
  311. });
  312. },
  313. // 订单状态
  314. getQueryOrder(orderNo) {
  315. let _this = this;
  316. _this.$request
  317. .get({
  318. url: `api/douyin/queryOrder/${orderNo}`,
  319. loadingTip: "加载中...",
  320. data: {},
  321. })
  322. .then((res) => {
  323. if (res.code == "200") {
  324. if (res.data.statusCode == "SUCCESS") {
  325. let imageUrl =
  326. 'https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/banner1.png';
  327. _this.syncOrder({
  328. resultId: this.orderInfo.resultId,
  329. total_amount: _this.orderInfo.total * 100,
  330. subject: _this.orderInfo.description,
  331. path: `/newScale/${this.scaleName}/testResult?resultId=${this.orderInfo.resultId}&messageShare=1`,
  332. orderNo: orderNo,
  333. openId: uni.getStorageSync("openId"),
  334. orderStatus: "2",
  335. imgPath: imageUrl,
  336. });
  337. uni.navigateTo({
  338. url: `/newScale/${this.scaleName}/testResult?resultId=${_this.orderInfo.resultId}&messageShare=1`
  339. });
  340. clearInterval(_this.timer);
  341. uni.showToast({
  342. title: "支付成功",
  343. });
  344. } else if (res.data.statusCode == "CLOSED") {
  345. // console.log("订单支付回调成功===========CLOSED》", _this.trade_state_closed );
  346. } else {
  347. clearInterval(_this.timer);
  348. // console.log("订单支付回调成功CLOSED===========》", _this.trade_state_closed);
  349. }
  350. } else {
  351. uni.showToast({
  352. title: "支付失败",
  353. });
  354. }
  355. });
  356. },
  357. // 查询测试人数
  358. getPeople() {
  359. let _this = this;
  360. _this.$request
  361. .get({
  362. url: `record/countByFlag?flag=${this.currentScale.flag}`,
  363. loadingTip: "加载中..."
  364. })
  365. .then((res) => {
  366. _this.peopleNum = res.data + 57000
  367. });
  368. },
  369. payEnsure() {
  370. // console.log(11111)
  371. this.$refs.popup.open();
  372. },
  373. uncompleteHandle() {
  374. this.$refs.popup.close();
  375. },
  376. completeHandle() {
  377. uni.showLoading({
  378. title: ''
  379. });
  380. this.checkOrder(0);
  381. },
  382. // 查询优惠信息
  383. queryPromotion() {
  384. let _this = this;
  385. _this.$request
  386. .get({
  387. url: `api/promotionInfo/queryPromotionDetail/${this.currentScale.flag}`,
  388. loadingTip: "加载中...",
  389. data: {},
  390. })
  391. .then((res) => {
  392. debugger
  393. let {
  394. price,
  395. name,
  396. residueNum,
  397. promotionPrice,
  398. promotionEndTime
  399. } = res.data;
  400. let params = {
  401. productId: this.currentScale.flag,
  402. userId: this.userInfo?.id,
  403. resultId: this.resultId,
  404. description: name,
  405. total: price,
  406. sceneType: uni.getSystemInfoSync().platform == "android" ?
  407. "Android" : "iOS",
  408. };
  409. this.orderInfo = params;
  410. uni.setStorageSync('orderInfo', params);
  411. this.residueNum = residueNum;
  412. this.price = price;
  413. this.promotionPrice = promotionPrice;
  414. this.promotionEndTime = new Date(promotionEndTime).getTime()
  415. this.getDhms();
  416. uni.hideLoading();
  417. });
  418. },
  419. // 获取天时分秒
  420. getDhms() {
  421. let timeSpan = this.promotionEndTime - new Date().getTime();
  422. let time = timestampFormatter(timeSpan);
  423. this.testHour = time.h;
  424. this.testMinute = time.m;
  425. this.testSecond = time.s;
  426. this.start = true;
  427. },
  428. getPriceMod(p1, p2) {
  429. let p = p1 * 1000 - p2 * 1000;
  430. return (p / 1000).toFixed(2);
  431. },
  432. // 同步订单
  433. syncOrder(params) {
  434. this.$request
  435. .post({
  436. url: "api/douyin/pushOrder",
  437. loadingTip: "加载中...",
  438. data: params,
  439. })
  440. .then((res) => {
  441. console.log(res);
  442. })
  443. .catch((err) => {
  444. console.log(err);
  445. });
  446. },
  447. }
  448. }
  449. </script>
  450. <style scoped>
  451. .payment_bg {
  452. width: 100%;
  453. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/payment_bg.png) no-repeat top;
  454. background-size: 100% auto;
  455. overflow: hidden;
  456. padding-bottom: 311rpx;
  457. }
  458. .payment_info {
  459. width: 750rpx;
  460. height: 531rpx;
  461. position: relative;
  462. margin-top: 143rpx;
  463. overflow: hidden;
  464. }
  465. .payment_info image {
  466. width: 100%;
  467. height: auto;
  468. margin-top: 134rpx;
  469. }
  470. .payment_info .pay_btn_sm {
  471. width: 640rpx;
  472. height: 73rpx;
  473. line-height: 73rpx;
  474. position: absolute;
  475. left: 55rpx;
  476. bottom: 73rpx;
  477. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/pay_button.png) no-repeat center;
  478. background-size: 100% auto;
  479. font-family: 'Alibaba PuHuiTi 2.0';
  480. font-weight: bold;
  481. font-size: 36rpx;
  482. color: #FFFFFF;
  483. text-shadow: 0rpx 0rpx 5rpx rgba(168, 63, 90, 0.5);
  484. text-align: center;
  485. }
  486. .payment_desc image {
  487. width: 750rpx;
  488. }
  489. .pay_btn_lg {
  490. width: 640rpx;
  491. height: 73rpx;
  492. line-height: 73rpx;
  493. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/pay_button.png) no-repeat center;
  494. background-size: 100% auto;
  495. font-family: 'Alibaba PuHuiTi 2.0';
  496. font-weight: bold;
  497. font-size: 36rpx;
  498. color: #FFFFFF;
  499. text-shadow: 0rpx 0rpx 5rpx rgba(168, 63, 90, 0.5);
  500. text-align: center;
  501. margin: 20rpx auto 20rpx;
  502. }
  503. .pay_dialog {
  504. width: 594rpx;
  505. height: 360rpx;
  506. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/EQtest/paymentPage/dialog_bg.png) no-repeat top;
  507. background-size: cover;
  508. position: fixed;
  509. top: 540rpx;
  510. left: 50%;
  511. transform: translate(-50%, -50%);
  512. }
  513. .btn_area {
  514. margin: 240rpx 0 0 96rpx;
  515. }
  516. .btn_area image {
  517. width: 160rpx;
  518. }
  519. .btn_area image:active {
  520. border: 1rpx solid #999999;
  521. opacity: 0.8;
  522. border-radius: 28rpx;
  523. }
  524. .people_num {
  525. margin-top: 197rpx;
  526. }
  527. .people_num text {
  528. min-width: 157rpx;
  529. height: 44rpx;
  530. padding: 0 10rpx;
  531. background: #FFEDF1;
  532. border-radius: 22rpx;
  533. font-family: 'Alibaba PuHuiTi 2.0';
  534. font-size: 28rpx;
  535. color: #FC716D;
  536. line-height: 44rpx;
  537. text-align: center;
  538. margin-left: 373rpx;
  539. }
  540. .price_num {
  541. margin-top: 62rpx;
  542. }
  543. .price_num text {
  544. min-width: 74rpx;
  545. font-family: 'Alibaba PuHuiTi 2.0';
  546. font-weight: normal;
  547. font-size: 32rpx;
  548. color: #FC716D;
  549. line-height: 24rpx;
  550. margin-left: 374rpx;
  551. }
  552. .top_footer {
  553. width: 750rpx;
  554. background: #FFFFFF;
  555. padding-bottom: 20rpx;
  556. position: fixed;
  557. bottom: 0;
  558. }
  559. .pay_price {
  560. box-sizing: border-box;
  561. display: flex;
  562. justify-content: space-between;
  563. align-items: center;
  564. width: 100%;
  565. padding: 10px 50rpx 0 50rpx;
  566. }
  567. .pay_price_y {
  568. font-family: 'Alibaba PuHuiTi 2.0';
  569. font-weight: normal;
  570. font-size: 24rpx;
  571. color: #FF2F29;
  572. line-height: 16rpx;
  573. }
  574. .pay_price_p {
  575. width: 100%;
  576. display: flex;
  577. justify-content: space-between;
  578. }
  579. .price_left {
  580. display: flex;
  581. }
  582. .yh_title {
  583. font-family: 'Alibaba PuHuiTi 2.0';
  584. font-weight: normal;
  585. font-size: 35rpx;
  586. color: #FF2F29;
  587. margin-top: 21rpx;
  588. }
  589. .yh_yj {
  590. font-family: 'Alibaba PuHuiTi 2.0';
  591. font-weight: normal;
  592. font-size: 24rpx;
  593. color: #999999;
  594. text-decoration-line: line-through;
  595. }
  596. .price_center {
  597. font-family: 'Alibaba PuHuiTi 2.0';
  598. font-weight: bold;
  599. font-size: 78rpx;
  600. color: #FF2F29;
  601. margin-top: 7rpx;
  602. }
  603. .price_right {
  604. width: 176rpx;
  605. height: 70rpx;
  606. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/MarriageQuality/lijian.png) no-repeat;
  607. background-size: cover;
  608. padding-top: 50rpx;
  609. }
  610. .price_right text {
  611. font-family: 'Alibaba PuHuiTi 2.0';
  612. font-weight: bold;
  613. font-size: 32rpx;
  614. color: #FFFFFF;
  615. margin-left: 35rpx;
  616. }
  617. .radio_class {
  618. display: flex;
  619. background-color: #ffffff;
  620. margin-bottom: 10px;
  621. padding-left: 10px;
  622. padding-right: 10px;
  623. padding-top: 5px;
  624. border-radius: 5px;
  625. padding-bottom: 5px;
  626. align-items: center;
  627. }
  628. .radio_class_1 {
  629. display: flex;
  630. justify-content: space-around;
  631. }
  632. .pay_title {
  633. text-align: center;
  634. /* margin-top:38px; */
  635. font-size: 20px;
  636. font-family: AlibabaPuHuiTi-Heavy, AlibabaPuHuiTi;
  637. font-weight: 900;
  638. color: #500000;
  639. line-height: 101px;
  640. }
  641. .top_page_yh {
  642. font-size: 14px;
  643. font-family: Source Han Sans-Regular, Source Han Sans;
  644. font-weight: 400;
  645. color: #656c74;
  646. line-height: 20px;
  647. }
  648. .main_scale_gmcp {
  649. display: flex;
  650. justify-content: center;
  651. align-items: center;
  652. }
  653. .main_scale_font_gmcp {
  654. font-size: 16px;
  655. font-family: Source Han Sans-Medium, Source Han Sans;
  656. font-weight: 700;
  657. color: #040000;
  658. }
  659. .main_xing_left {
  660. height: 30px;
  661. width: 20px;
  662. margin-right: 20px;
  663. }
  664. .main_xing_right {
  665. height: 30px;
  666. width: 20px;
  667. margin-left: 20px;
  668. }
  669. .scale_gmcp_connent {
  670. margin-top: 10px;
  671. background-color: #ffffff;
  672. border-radius: 10px 10px 10px 10px;
  673. opacity: 1;
  674. padding: 24px 15px;
  675. margin-bottom: 200px;
  676. overflow-y: scroll;
  677. }
  678. .pub_time {
  679. margin-top: 5px;
  680. font-size: 12px;
  681. font-family: Source Han Sans-Regular, Source Han Sans;
  682. font-weight: 400;
  683. color: #c4c4c4;
  684. line-height: 17px;
  685. }
  686. .pub_connnet {
  687. font-size: 14px;
  688. font-family: Source Han Sans-Regular, Source Han Sans;
  689. font-weight: 400;
  690. color: #3d3d3d;
  691. line-height: 20px;
  692. }
  693. .people_sy {
  694. font-size: 14px;
  695. font-family: Source Han Sans-Regular, Source Han Sans;
  696. font-weight: 400;
  697. color: #656c74;
  698. line-height: 20px;
  699. margin-left: 4px;
  700. }
  701. .people_sy_time {
  702. font-family: 'Alibaba PuHuiTi 2.0';
  703. font-weight: normal;
  704. font-size: 32rpx;
  705. color: #333333;
  706. line-height: 16rpx;
  707. display: flex;
  708. margin-right: 4px;
  709. display: flex;
  710. justify-content: center;
  711. align-items: center;
  712. }
  713. .time_ol {
  714. background: linear-gradient(270deg, #ff9d41 0%, #fc3c3c 100%);
  715. border-radius: 4px 4px 4px 4px;
  716. padding: 2px;
  717. color: #ffffff;
  718. }
  719. .time_mao {
  720. color: #ff9d41;
  721. }
  722. .pro_tag {
  723. height: 62rpx;
  724. padding: 0 20rpx;
  725. background: url(https://test.jue-ming.com:8849/api/show?filePath=./webo/Charm/paymentPage/price_bg.png) no-repeat center;
  726. border-radius: 40rpx 40rpx 40rpx 40rpx;
  727. margin-left: 16rpx;
  728. color: #ffffff;
  729. display: flex;
  730. align-items: center;
  731. font-family: 'Alibaba PuHuiTi 2.0';
  732. font-weight: normal;
  733. font-size: 24rpx;
  734. color: #FFFFFF;
  735. .price {
  736. font-family: 'Alibaba PuHuiTi 2.0';
  737. font-weight: bold;
  738. font-size: 40rpx;
  739. color: #FFFFFF;
  740. line-height: 16rpx;
  741. }
  742. }
  743. </style>