1.修改话费支付页面

master
杨杰 2 years ago
parent b61339d992
commit 096508562e
  1. 41
      high-unionPay/App.vue
  2. 4
      high-unionPay/Utils/Api.js
  3. 12
      high-unionPay/pages/goods/refuel-confirm/refuel-confirm.vue
  4. 3
      high-unionPay/pages/tabBar/home/home.vue
  5. 405
      high-unionPay/pages/unionPay/recharge-centre/recharge-centre.vue
  6. BIN
      high-unionPay/static/img/tongz.png
  7. 7
      high-unionPay/uni.scss

@ -5,23 +5,23 @@
// brestUrl: 'http://192.168.3.4:9302/brest', // brestUrl: 'http://192.168.3.4:9302/brest',
// imgUrl: 'https://192.168.3.4:9301/filesystem/', // imgUrl: 'https://192.168.3.4:9301/filesystem/',
// //
url: 'https://hsg.dctpay.com/crest', // url: 'https://hsg.dctpay.com/crest',
v1url:'https://hsg.dctpay.com/v1', // v1url:'https://hsg.dctpay.com/v1',
orderurl:' https://hsg.dctpay.com/order', // orderurl:' https://hsg.dctpay.com/order',
userurl:'https://hsg.dctpay.com/user', // userurl:'https://hsg.dctpay.com/user',
imgUrl: 'https://hsg.dctpay.com/filesystem/', // imgUrl: 'https://hsg.dctpay.com/filesystem/',
brestUrl: 'https://hsg.dctpay.com/brest', // brestUrl: 'https://hsg.dctpay.com/brest',
imageWxImg: 'https://hsg.dctpay.com/filesystem/wxApplets/', // imageWxImg: 'https://hsg.dctpay.com/filesystem/wxApplets/',
imageqrImg: 'https://hsg.dctpay.com/filesystem/temporary/', // imageqrImg: 'https://hsg.dctpay.com/filesystem/temporary/',
// //
// url: 'https://hsgcs.dctpay.com/crest', url: 'https://hsgcs.dctpay.com/crest',
// v1url: 'https://hsgcs.dctpay.com/v1', v1url: 'https://hsgcs.dctpay.com/v1',
// orderurl:'https://hsgcs.dctpay.com/order', orderurl:'https://hsgcs.dctpay.com/order',
// userurl:'https://hsgcs.dctpay.com/user', userurl:'https://hsgcs.dctpay.com/user',
// brestUrl: 'https://hsgcs.dctpay.com/brest', brestUrl: 'https://hsgcs.dctpay.com/brest',
// imgUrl: 'https://hsgcs.dctpay.com/filesystem/', imgUrl: 'https://hsgcs.dctpay.com/filesystem/',
// imageWxImg: 'https://hsgcs.dctpay.com/filesystem/wxApplets/', imageWxImg: 'https://hsgcs.dctpay.com/filesystem/wxApplets/',
// imageqrImg: 'https://hsgcs.dctpay.com/filesystem/temporary/', imageqrImg: 'https://hsgcs.dctpay.com/filesystem/temporary/',
userInfo: "", userInfo: "",
brestUserInfo: '', brestUserInfo: '',
openId: '', openId: '',
@ -61,4 +61,13 @@
<style lang="scss"> <style lang="scss">
/*每个页面公共css */ /*每个页面公共css */
@import "/static/iconfont/font.scss"; @import "/static/iconfont/font.scss";
@keyframes noticeAnimation {
from {
transform: translateX(100rpx);
}
to {
// transform: translateX(calc(-100% + 150px));
transform: translateX(-100%);
}
}
</style> </style>

@ -495,6 +495,10 @@ export const sendUserPass = params => {
export const getUserOrderListhuafei = params => { export const getUserOrderListhuafei = params => {
return POST('GET', `${base}/outRechargeOrder/getUserOrderList`, params).then(res => res.data); return POST('GET', `${base}/outRechargeOrder/getUserOrderList`, params).then(res => res.data);
} }
// 话费充值数据字典
export const findSecConfigByType = params => {
return POST('GET', `${base}/common/findSecConfigByType`, params).then(res => res.data);
}
//肯德基返利 //肯德基返利
export const getRebateIntegral = params => { export const getRebateIntegral = params => {

@ -202,7 +202,7 @@
<wybPopup ref="popup" type="bottom" width="500" :scrollY="true" radius="6" :showCloseIcon="true"> <wybPopup ref="popup" type="bottom" width="500" :scrollY="true" radius="6" :showCloseIcon="true">
<view class="fotct font18 fontwig6 fcor333 mart10 height30">优惠券选择</view> <view class="fotct font18 fontwig6 fcor333 mart10 height30">优惠券选择</view>
<view class="width92 height110 tccs mart10 alijus" v-for="(items, index) in OrderPreList" :key="index" <view class="width92 height110 tccs mart10 alijus" v-for="(items, index) in OrderPreList" :key="index"
@click="radioChanges(items,items)"> @click="radioChanges(items)">
<image mode="widthFix" :src="imageUrl+items.discountImg"></image> <image mode="widthFix" :src="imageUrl+items.discountImg"></image>
<view class="alijus width60 margle10"> <view class="alijus width60 margle10">
<view class="width80p"> <view class="width80p">
@ -396,9 +396,9 @@
this.$refs.popup.show(); this.$refs.popup.show();
}, },
// //
radioChanges(item, items) { radioChanges(item) {
this.rechangeload(); this.rechangeload();
if (this.memDiscountId == items.id) { // if (this.memDiscountId == item.id) { //
this.memDiscountId = ''; this.memDiscountId = '';
this.deductionPrice = '0.00'; this.deductionPrice = '0.00';
this.priceCaluc(this.orderList.payPrice); this.priceCaluc(this.orderList.payPrice);
@ -406,7 +406,7 @@
} else { // } else { //
if (item.discountType == 1) { if (item.discountType == 1) {
if (this.orderPrice >= item.discountCondition) { if (this.orderPrice >= item.discountCondition) {
this.memDiscountId = items.id; this.memDiscountId = item.id;
// //
this.deductionPrice = item.discountPrice; this.deductionPrice = item.discountPrice;
let oldprice = this.orderPrice - this.deductionPrice; let oldprice = this.orderPrice - this.deductionPrice;
@ -420,14 +420,14 @@
} }
} }
if (item.discountType == 2) { if (item.discountType == 2) {
this.memDiscountId = items.id; this.memDiscountId = item.id;
// //
this.deductionPrice = item.discountPrice; this.deductionPrice = item.discountPrice;
let oldprice = this.orderPrice - this.deductionPrice; let oldprice = this.orderPrice - this.deductionPrice;
this.priceCaluc(oldprice); this.priceCaluc(oldprice);
} }
if (item.discountType == 3) { if (item.discountType == 3) {
this.memDiscountId = items.id; this.memDiscountId = item.id;
// //
this.deductionPrice = this.orderPrice - (this.orderPrice * item.discountPrice); this.deductionPrice = this.orderPrice - (this.orderPrice * item.discountPrice);
let oldprice = parseFloat(this.orderPrice * item.discountPrice).toFixed(2); let oldprice = parseFloat(this.orderPrice * item.discountPrice).toFixed(2);

@ -662,8 +662,7 @@
.spcarea { .spcarea {
width: 31%; width: 31%;
margin-right: auto; margin-left: 2%;
margin-left: auto;
border-radius: 10px 10px 0px 0px; border-radius: 10px 10px 0px 0px;
padding-bottom: 10px; padding-bottom: 10px;
} }

@ -1,150 +1,265 @@
<template> <template>
<view> <view>
<view class="width100 height100p backcorf06"> <view class="width100 height120" style="background-color: #3267f6;">
<view class="alijusstart paddleft10 paddtright10" style="background-color: #2d5de5;height: 30px;">
<image src="../../../static/img/tongz.png" style="height: 20px;" class="icon45"></image>
<view class="right-left-scroll margle">
<view class="content font12 fontspec"
:style="{'animation': `noticeAnimation ${time}s linear 1s infinite`}">
{{notice}}
</view>
</view>
</view>
<view class="block"> <view class="block">
<view class="content height60"> <view class="content height60">
<input type="number" class="my flleft font18 fcorfff" maxlength="11" <input type="number" class="my flleft font20 fcorfff" maxlength="11"
placeholder-style="color:#ffffff;" placeholder="请输入充值号码" v-model="inputPhone" /> placeholder-style="color:#ffffff;" placeholder="请输入充值号码" v-model="inputPhone" />
</view> </view>
<view class="line1 width100 backcorfff"></view> <view class="line1 width100 backcorfff"></view>
</view> </view>
</view> </view>
<!-- <view class="mart5"> <view class="backcorlf5 height70"></view>
<QSTabs ref="tabs" :tabs="tabs" animationMode="line2" :current="current" @change="change" <view class="width90 border-r backcorfff" style="margin-top: -60px;">
activeColor="#089bf5" lineColor="#089bf5" minWidth="374"> <view class="swiperHead">
</QSTabs> <!--组件-->
</view> --> <swiperNavBar :scrollIntoView="scrollIntoView" :swiperTabList='tabs' :swiperTabIdx='swiperTabIdx'
<view class="width90 font16 fcor333 fontwig6 mart20"> :currentSwiperWidth='currentSwiperWidth' :currentSwiperHeight='currentSwiperHeight'
选择金额 :swiperCurrentSize='swiperCurrentSize' :swiperColor='swiperColor'
:swiperCurrentColor='swiperCurrentColor' :currentSwiperLineShow="currentSwiperLineShow"
:currentSwiperLineActiveWidth="currentSwiperLineActiveWidth"
:currentSwiperLineActiveHeight="currentSwiperLineActiveHeight"
:currentSwiperLineActiveBg="currentSwiperLineActiveBg"
:currentSwiperLineAnimatie="currentSwiperLineAnimatie" v-if=" tabs.length > 0 "
@change="CurrentTab">
</swiperNavBar>
<!--组件-->
</view> </view>
<view class="list"> <!--内容-->
<view class="box" :class="{'on':item.id == inputAmountId}" v-for="(item,index) in amountList" :key="index" <view class="swiperCont border-r">
@click="select(item)"> <swiper class="swiper border-r" :style="{ height:mainHeight + 'px' }" :current="swiperTabIdx"
<view class="heTitle">{{item.rechargePrice}}</view> @change="SwiperChange">
<view class="font13 fcoreb5 fontwig6" v-if="item.status != 2">{{item.payPrice}}</view> <swiper-item class="swiperItem border-r" v-for="(item,index) in tabs" :key='index'>
<view class="font13 fcor999" v-if="item.status == 2">已售空</view> <view class="width90 font14 fcor333 fontwig6 mart5">
话费特惠充值
</view> </view>
<view v-if="amountList == ''" class="mart10 fotct font14 fcor666">
<image mode="widthFix" style="width: 40vw;" :src="imagewxUrl+imgadres"></image>
</view>
<view class="list" v-else>
<view class="box border-r" :class="{'on':item.id == inputAmountId}"
v-for="(item,index) in amountList" :key="index" @click="select(item)">
<view class="heTitle font16 fontwig6 paddtop5">{{item.rechargePrice}}</view>
<view class="font13 contcil" :class="{'on':item.id == inputAmountId}"
v-if="item.status != 2">{{item.payPrice}}</view>
<view class="font12 contcil" :class="{'on':item.id == inputAmountId}"
v-if="item.status == 2">已售空</view>
<view class="width100 font12 height25l boxchil"
:class="{'on':item.id == inputAmountId}" style="">{{explainReceiptTime}}
</view> </view>
<view class="mart5 width90 font18 fcor333 fontwig6">
充值说明
</view> </view>
<!-- <view class="width90 mart20" v-if="current == 0">
<image mode="widthFix" :src="imagewxUrl+image2"></image>
</view> -->
<view class="width90 mart20">
<image mode="widthFix" :src="imagewxUrl+image1"></image>
</view> </view>
<view class="height100p"></view> </swiper-item>
<view class="bombtn width94 font16"> </swiper>
<view class="width50 flleft payem">应付: {{inputAmount}}</view>
<view class="width50 flright paybtn" @click="addOrderPay">立即购买</view>
</view> </view>
<view class="width90 height40 backcor008 font16 fcorfff fotct border-r" @click="addOrderPay()">¥
{{inputAmount}}
立即充值
</view>
<view class="width100 height40"></view>
</view>
<view class="width90 mart20">
<rich-text :nodes="textcont"></rich-text>
</view>
<wybPopup ref="popup" type="center" height="850" width="600" bgColor="" radius="6" :showCloseIcon="true">
<image class="popImg" :src="imageUrl+imgadres1"></image>
</wybPopup>
</view> </view>
</template> </template>
<script> <script>
let app = getApp(); let app = getApp();
import QSTabs from '@/components/QS-tabs/QS-tabs.vue';
import swiperNavBar from '@/components/swiperNavBar.vue';
import wybPopup from '@/components/wyb-popup/wyb-popup.vue';
import { import {
getListOutRechargePrice, getListOutRechargePrice,
addOrderPay addOrderPay,
} from '../../../Utils/Api.js'; findSecConfigByType,
import QSTabs from '../../../components/QS-tabs/QS-tabs.vue'; getCmsContent
} from '@/Utils/Api.js';
export default { export default {
components: { components: {
QSTabs QSTabs,
swiperNavBar,
wybPopup
}, },
data() { data() {
return { return {
typeId: '',
inputAmountId: '', inputAmountId: '',
inputAmount: '', inputAmount: '',
orderPrice: '',
inputPhone: '', inputPhone: '',
amoutType: '', amoutType: '',
codesVlues: '',
amountList: [], amountList: [],
price: '',
amoutstatus: '', amoutstatus: '',
tabs: ["5个工作日", "6小时到账"], // tabs: [], //
current: 0, // current: 0, //
swiperCurrent: 2, swiperCurrent: 2,
imageUrl: app.globalData.imgUrl,
imagewxUrl: app.globalData.imageWxImg, imagewxUrl: app.globalData.imageWxImg,
imgadres: 'noorder.png',
imgadres1: '',
image1: 'telephone1.png', image1: 'telephone1.png',
image2:'telephone2.png' image2: 'telephone2.png',
notice: '', //
textcont: '', //
explainReceiptTime: '', //
time: 0,
//
scrollIntoView: 0, //
swiperTabList: [], //
swiperTabIdx: 0,
swiperCurrentSize: '26rpx', //
swiperColor: '#333333', //
swiperCurrentColor: '#1D63FF', //
currentSwiperWidth: '23%', // % upx rpx px
currentSwiperHeight: 100, // rpx px
mainHeight: 240, //
currentSwiperLineShow: true, //线 线.swiperLinecss
currentSwiperLineActiveBg: '#1D63FF', //线
currentSwiperLineActiveWidth: '30rpx', //线 upx rpx px
currentSwiperLineActiveHeight: '6rpx', //线 upx rpx px
currentSwiperLineAnimatie: 300, //线
} }
}, },
onLoad(options) { onLoad(options) {
this.typeId = options.id; this.getCmsAactibity();
if (this.typeId == 1) { this.getListOutRechargePrice();
uni.setNavigationBarTitle({ },
title: '中国移动' onShow() {
}) this.findSecConfigByType();
this.amoutType = 2; this.findSecConfigByTypewap();
this.getListOutRechargePrice(2); },
return; mounted() {
let scroll_width = 0;
const query = uni.createSelectorQuery().in(this);
query.select('.right-left-scroll').boundingClientRect(data => {
scroll_width = (data.width).toFixed(2);
}).exec();
query.select('.right-left-scroll .content').boundingClientRect(data => {
if (data.width - scroll_width > 0) {
this.time = (9 * data.width / scroll_width).toFixed(2);
} }
if (this.typeId == 2) { }).exec();
uni.setNavigationBarTitle({ },
title: '中国电信' methods: {
}) //
this.amoutType = 1; getCmsAactibity() {
this.getListOutRechargePrice(1); let code;
return; // #ifdef H5
code = '2'
// #endif
// #ifdef MP
code = '1'
// #endif
let params = {
companyId: app.globalData.companyId,
platform: code,
categoryCode: 'CMS_RECHARGE_POPOVER'
} }
if (this.typeId == 3) { getCmsContent(params).then(res => {
uni.setNavigationBarTitle({ if (res.return_code == '000000' && res.return_data.childCategory.length != 0) {
title: '中国联通' //广
}) this.imgadres1 = res.return_data.childCategory[0].imgData;
this.amoutType = 3; this.showPopup();
this.getListOutRechargePrice(3);
return;
} }
});
},
//
showPopup() {
this.$refs.popup.show();
},
//
findSecConfigByType() {
let datas = {
codeType: 'EXPLAIN_NOTIFICATIONS'
}
findSecConfigByType(datas).then(res => {
if (res.return_code == '000000') {
this.notice = res.return_data.codeValue;
}
});
},
//
findSecConfigByTypewap() {
let datas = {
codeType: 'EXPLAIN_WRAP '
}
findSecConfigByType(datas).then(res => {
if (res.return_code == '000000') {
this.textcont = res.return_data.codeValue;
}
});
}, },
methods: {
select(amoutinfos) { select(amoutinfos) {
this.inputAmount = amoutinfos.payPrice; this.inputAmount = amoutinfos.payPrice;
this.orderPrice = amoutinfos.rechargePrice; this.price = amoutinfos.rechargePrice;
this.inputAmountId = amoutinfos.id; this.inputAmountId = amoutinfos.id;
this.amoutstatus = amoutinfos.status; this.amoutstatus = amoutinfos.status;
}, },
//
change(index) {
this.$refs.tabs.setFinishCurrent(index);
this.current = index;
this.inputAmount = '';
this.amoutstatus = '';
if (index == 0) {
this.swiperCurrent = 2;
this.getListOutRechargePrice(this.amoutType);
} else {
this.swiperCurrent = 1;
this.getListOutRechargePrice(this.amoutType);
}
},
/** /**
* 查询价格 * 查询价格
*/ */
getListOutRechargePrice(item) { getListOutRechargePrice() {
uni.showLoading({ uni.showLoading({
title: '加载中...' title: '加载中...'
}) })
let showType;
// #ifdef H5
showType = 2;
// #endif
// #ifdef MP
showType = 1;
// #endif
let params = { let params = {
operatorType: item,
"companyId": app.globalData.companyId, "companyId": app.globalData.companyId,
platformId: 3 platformId: showType
// rechargeType: this.swiperCurrent
} }
getListOutRechargePrice(params).then(res => { getListOutRechargePrice(params).then(res => {
uni.hideLoading() uni.hideLoading()
if (res.return_code == '000000' && res.return_data) { if (res.return_code == '000000' && res.return_data) {
this.amountList = res.return_data; this.tabs = res.return_data;
this.amountList = res.return_data[0].priceList;
this.explainReceiptTime = res.return_data[0].explain_receipt_time;
this.amoutType = res.return_data[0].id;
} else { } else {
this.amountList = []; this.amountList = [];
} }
}) })
}, },
//tab
CurrentTab: function(index) {
this.swiperTabIdx = index;
this.scrollIntoView = Math.max(0, index - 1);
this.explainReceiptTime = this.tabs[this.swiperTabIdx].explain_receipt_time;
this.amountList = this.tabs[this.swiperTabIdx].priceList;
this.amoutType = this.tabs[this.swiperTabIdx].id;
},
//
SwiperChange: function(e) {
this.swiperTabIdx = e.detail.current;
this.scrollIntoView = Math.max(0, e.detail.current - 1);
this.explainReceiptTime = this.tabs[this.swiperTabIdx].explain_receipt_time;
this.amountList = this.tabs[this.swiperTabIdx].priceList;
this.amoutType = this.tabs[this.swiperTabIdx].id;
},
/** /**
* 提交订单 * 提交订单
*/ */
@ -161,6 +276,7 @@
if (that.inputPhone == '') { if (that.inputPhone == '') {
uni.showToast({ uni.showToast({
title: '请输入充值号码', title: '请输入充值号码',
duration: 2000,
icon: "none" icon: "none"
}); });
return; return;
@ -168,6 +284,7 @@
if (that.inputPhone.length != 11) { if (that.inputPhone.length != 11) {
uni.showToast({ uni.showToast({
title: '请输入正确充值号码', title: '请输入正确充值号码',
duration: 2000,
icon: "none" icon: "none"
}); });
return; return;
@ -175,9 +292,10 @@
if (that.inputAmount == '') { if (that.inputAmount == '') {
uni.showToast({ uni.showToast({
title: '请选择价格', title: '请选择价格',
duration: 2000,
icon: "none" icon: "none"
}); });
return; return false;
} }
uni.showToast({ uni.showToast({
title: '提交订单...', title: '提交订单...',
@ -185,7 +303,7 @@
duration: 2000, duration: 2000,
success() { success() {
uni.navigateTo({ uni.navigateTo({
url: '../unionComfirmation/unionComfirmation?orderPrice=' + that.orderPrice + url: '../unionComfirmation/unionComfirmation?orderPrice=' + that.price +
'&payPrice=' + that.inputAmount + '&rechargeContent=' + that.inputPhone + '&payPrice=' + that.inputAmount + '&rechargeContent=' + that.inputPhone +
'&rechargeModel=' + that.amoutType + '&rechargeModel=' + that.amoutType +
'&objectId=' + that.inputAmountId + '&rechargeType=' + that.swiperCurrent '&objectId=' + that.inputAmountId + '&rechargeType=' + that.swiperCurrent
@ -199,9 +317,68 @@
</script> </script>
<style lang="scss"> <style lang="scss">
page {
background-color: #f5f5f5;
}
.popImg {
width: 100%;
height: 430px;
}
.swiperHead {
width: 100%;
}
.swiperHead scroll-view {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
white-space: nowrap;
}
.swiperTab {
display: inline-flex;
flex-direction: column;
text-align: center;
}
.swiperCont {
width: 100%;
padding-top: 5px;
padding-bottom: 20px;
background-color: #ffffff;
}
/* #ifdef H5 */
.swiperHead {
top: 44px;
z-index: 10;
width: 100%;
background: #FFFFFF;
}
/* #endif */
.swiper {
width: 100%;
height: 500rpx;
}
.swiperItem {
overflow: auto;
background: #ffffff;
color: #333333;
font-size: 30upx;
}
.block { .block {
width: 94%; width: 94%;
padding: 60upx 3%; padding: 15px 3%;
.my { .my {
width: 80%; width: 80%;
@ -224,55 +401,63 @@
padding: 20upx 0; padding: 20upx 0;
.box { .box {
width: 30%; width: 29%;
margin-left: 1%; margin-left: 1%;
margin-right: 2%; margin-right: 2%;
margin-top: 20upx; margin-top: 20upx;
margin-bottom: 20upx;
float: left; float: left;
height: 120upx; height: 150upx;
// line-height: 120upx; // line-height: 120upx;
display: inline-grid; // display: inline-grid;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
text-align: center; text-align: center;
box-shadow: 0upx 0upx 4upx #666666; border: 1px solid #f1f1f1;
font-size: 36upx; font-size: 36upx;
color: #089bf5; color: #333333;
&.on { &.on {
background-color: #089bf5; background-color: #ecf5fe;
color: #ffffff; border: 1px solid #089bf5;
color: #089bf5;
} }
} }
.heTitle { .heTitle {
width: 100%; width: 100%;
font-size: 15px;
} }
} }
.bombtn {
position: fixed;
height: 45px;
bottom: 20px;
border-radius: 6px;
.payem { .boxchil {
height: 45px; border-radius: 0 0 5px 5px;
line-height: 45px; background-color: #f0f0f0;
text-align: center; margin-top: 6px;
background-color: #007AFF; color: #999999;
color: #FFFFFF;
border-radius: 6px 0 0 6px; &.on {
background-color: #089bf5;
color: #ffffff;
}
} }
.paybtn { .contcil {
height: 45px; color: #999999;
line-height: 45px;
text-align: center; &.on {
background-color: #F8A628; // background-color: #089bf5;
border-radius: 0 6px 6px 0; color: #089bf5;
color: #FFFFFF; }
}
.right-left-scroll {
white-space: nowrap;
overflow: hidden;
.content {
display: inline-block;
color: #c1b569;
} }
} }
</style> </style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -296,6 +296,9 @@ $uni-font-size-paragraph:30upx;
background: linear-gradient(to bottom, #3da7e7, #6fbdee); background: linear-gradient(to bottom, #3da7e7, #6fbdee);
} }
.backcorlf5{
background: linear-gradient(to bottom, #3267f6, #f5f5f5);
}
.backcorf06{ .backcorf06{
background-color: #0083f5; background-color: #0083f5;
@ -552,6 +555,10 @@ $uni-font-size-paragraph:30upx;
.height25 { .height25 {
height: 25px; height: 25px;
} }
.height25l {
height: 25px;
line-height: 25px;
}
.height50 { .height50 {

Loading…
Cancel
Save