Commit fa00b689 by 严立

LL - 兑换商品订单详情

parent e6dbdb99
Showing with 1040 additions and 325 deletions
......@@ -13,40 +13,16 @@
text-overflow: ellipsis;
}
.arrow-more {
width: 32rpx;
height: 32rpx;
}
.icon {
width: 32rpx;
height: 32rpx;
}
.icon_32 {
width: 32rpx;
height: 32rpx;
}
.icon_40 {
width: 40rpx;
height: 40rpx;
}
.icon_48 {
width: 48rpx;
height: 48rpx;
}
.icon_80 {
width: 80rpx;
height: 80rpx;
}
.icon_136 {
width: 136rpx;
height: 136rpx;
}
.icon_32 { width: 32rpx; height: 32rpx; }
.icon_40 { width: 40rpx; height: 40rpx; }
.icon_48 { width: 48rpx; height: 48rpx; }
.icon_80 { width: 80rpx; height: 80rpx; }
.icon_136 { width: 136rpx; height: 136rpx; }
.bg-gradient {
background: linear-gradient(180deg, #FFFFFF 0%, #F3F4F6 20%, #F3F4F6 100%);
......
.m-button-bottom-content {
z-index: 4;
position: fixed;
bottom: 0;
left: 0;
......
......@@ -24,6 +24,22 @@ Component({
winDialog: false,
},
/**
* 组件实例创建时添加,修复页面在 onLoad 生命周期中调用组件实例不正确问题。
* @function
* @param
* @returns
*/
created: function () {
App.ui.dialog = this
},
/**
* 组件实例创建时添加,修复页面在 onLoad 生命周期中调用组件实例不正确问题。
* @function
* @param
* @returns
*/
pageLifetimes: {
show: function () {
App.ui.dialog = this
......
......@@ -2,6 +2,7 @@ Component({
options: {
styleIsolation: 'apply-shared'
},
properties: {
inputId: { type: String, value: '' },
className: { type: String, value: '' },
......@@ -13,23 +14,56 @@ Component({
data: {
inputFocus: false,
inputQuantity: 0,
cssTextarea: '',
winText: true,
winInput: false,
},
methods: {
/**
* 设置输入组件高度,避免默认初始高度产生的滚动效果。
* @function
* @param {object} - event
* @returns
*/
setTextareaCss: function () {
let funcQuery = this.createSelectorQuery()
funcQuery.selectAll('.m_textarea_content_boundary').boundingClientRect()
funcQuery.exec((funcResult) => {
this.setData({
cssTextarea: 'height: ' + funcResult[0][1].height + 'px;'
})
})
},
/**
* 组件进行输入
* @function
* @param {object} - event
* @returns
*/
onInput: function (event) {
this.setData({
inputQuantity: event.detail.value.length
})
console.log(this.data.inputQuantity)
},
/**
* 组件聚焦
* @function
* @param
* @returns
*/
onInputFocus: function() {
console.log('onInputFocus')
this.setTextareaCss()
},
/**
* 组件输入结束
* @function
* @param {object} - event
* @returns
*/
onInputBlur: function(event) {
this.setData({
value: event.detail.value,
......@@ -38,10 +72,22 @@ Component({
this.triggerEvent('blur', { id: this.data.inputId, value: this.data.value })
},
/**
* 组件输入结束
* @function
* @param {object} - event
* @returns
*/
onInputConfirm: function() {
this.setInputHidden()
},
/**
* 显示输入组件
* @function
* @param
* @returns
*/
setInputShow: function() {
this.setData({
winText: false,
......@@ -55,6 +101,12 @@ Component({
}, 20)
},
/**
* 隐藏输入组件
* @function
* @param
* @returns
*/
setInputHidden: function() {
this.setData({
inputFocus: false,
......
<view class="m-textarea">
<view class="m-textarea-text {{className}}" hidden="{{!winText}}" bindtap="setInputShow">
<view class="m-textarea-text-wrap">
<text class="m-textarea-text-value" wx:if="{{value === '' ? false : true}}">{{value}}</text>
<text class="m-textarea-text-placeholder" wx:if="{{value === '' ? true : false}}">{{placeholder}}</text>
<view class="m_textarea_container">
<view class="m_textarea_content {{className}}" hidden="{{!winText}}" bindtap="setInputShow">
<view class="m_textarea_content_boundary">
<text class="m_textarea_content_color" wx:if="{{value === '' ? false : true}}">{{value}}</text>
<text class="m_textarea_placeholder_color" wx:if="{{value === '' ? true : false}}">{{placeholder}}</text>
</view>
</view>
<view class="m-textarea-input {{className}}" hidden="{{!winInput}}">
<view class="m-textarea-text-wrap">
<view class="m_textarea_content {{className}}" hidden="{{!winInput}}">
<view class="m_textarea_content_boundary">
<textarea
class="m_textarea m_textarea_content_color"
style="{{cssTextarea}}"
value="{{value}}"
placeholder="{{placeholder}}"
placeholder-class="m-textarea-text-placeholder"
placeholder-class="m_textarea_placeholder_color"
maxlength="{{inputMax}}"
focus="{{inputFocus}}"
bindinput="onInput"
......@@ -22,7 +24,7 @@
</view>
</view>
<view class="m-textarea-quantity">
<text>{{inputQuantity + '/' + inputMax}}</text>
<view class="m_textarea_total">
<text class="m_textarea_total_quantity">{{inputQuantity + '/' + inputMax}}</text>
</view>
</view>
\ No newline at end of file
.m-textarea {
.m_textarea_container {
position: relative;
}
.m-textarea-text-wrap {
width: 100%;
height: 100%;
.m_textarea_content_boundary {
max-width: 100%;
max-height: 100%;
overflow-x: hidden;
overflow-y: scroll;
}
.m-textarea-text-value {
.m_textarea_content_color {
color: #000000;
}
.m-textarea-input > view {
margin: 0 0 40rpx 0;
}
.m-textarea-text-placeholder {
.m_textarea_placeholder_color {
display: inline-block;
font-size: 30rpx;
font-weight: 400;
......@@ -25,14 +21,18 @@
color: #C2C7CF;
}
.m_textarea {
width: 100%;
}
/* 输入计数 */
.m-textarea-quantity {
.m_textarea_total {
position: absolute;
bottom: 16rpx;
right: 24rpx;
}
.m-textarea-quantity > text {
.m_textarea_total_quantity {
height: 32rpx;
font-size: 22rpx;
font-weight: 400;
......
......@@ -21,6 +21,22 @@ Component({
winToast: false,
},
/**
* 组件实例创建时添加,修复页面在 onLoad 生命周期中调用组件实例不正确问题。
* @function
* @param
* @returns
*/
created: function () {
App.ui.toast = this
},
/**
* 组件实例显示时添加,以此纠正其他页面被销毁时,捕获到当前页面正确的组件实例。
* @function
* @param
* @returns
*/
pageLifetimes: {
show: function () {
App.ui.toast = this
......
......@@ -11,45 +11,14 @@
8 : 遮罩
9 : 遮罩
*/
.row {
display: flex;
flex-direction: row;
}
.column {
display: flex;
flex-direction: column;
}
.cs {
justify-content: flex-start;
}
.cc {
justify-content: center;
}
.ce {
justify-content: flex-end;
}
.cb {
justify-content: space-between;
}
.ca {
justify-content: space-around;
}
.as {
align-items: flex-start;
}
.ac {
align-items: center;
}
.ae {
align-items: flex-end;
}
\ No newline at end of file
.row { display: flex; flex-direction: row; }
.column { display: flex; flex-direction: column; }
.cs { justify-content: flex-start; }
.cc { justify-content: center; }
.ce { justify-content: flex-end; }
.cb { justify-content: space-between; }
.ca { justify-content: space-around; }
.as { align-items: flex-start; }
.ac { align-items: center; }
.ae { align-items: flex-end; }
\ No newline at end of file
/* 主题 */
.primary {
color: #5DB5DD;
}
.primary { color: #5DB5DD; }
/* 成功 */
.success {
color: #67C23A;
}
.success { color: #67C23A; }
/* 警告 */
.warning {
color: #E6A23C;
}
.warning { color: #E6A23C; }
/* 危险 */
.danger {
color: #F56C6C;
}
.danger { color: #F56C6C; }
/* 提示 */
.info {
color: #909399;
}
.info { color: #909399; }
/* 常规文本,用于标题,正文 */
.regular {
color: #15191F;
}
.regular { color: #15191F; }
/* 次要文本,用于说明,补充,提示 */
.secondary {
color: #959DA9;
}
.secondary { color: #959DA9; }
/* 输入提示 */
.placeholder {
color: #C2C7CF;
}
.placeholder { color: #C2C7CF; }
/* 基础边框 */
.border-base {
border-color: #E2E7EF;
}
.border-base { border-color: #E2E7EF; }
/* 明亮边框 */
.border-light {
border-color: #E4E7ED;
}
.border-light { border-color: #E4E7ED; }
/* 最亮边框 */
.border-lighter {
border-color: #EBEEF5;
}
\ No newline at end of file
.border-lighter { border-color: #EBEEF5; }
\ No newline at end of file
......@@ -101,5 +101,15 @@ Page({
title: response.message,
})
})
}
},
/**
* 页面滚动事件
* @function
* @param {object} - funcEvent
* @returns
*/
onPageScroll: function (funcEvent) {
},
})
\ No newline at end of file
......@@ -52,6 +52,8 @@
<image src="{{imageBase + 'icon/warning-4.png'}}"></image>
<text>申请提交后,审核人员将主动与您联系(预计5个工作日),并协助后续资料整理。</text>
</view>
</view>
<m-button-bottom text="提交申请" bindtap="onEstablish"></m-button-bottom>
\ No newline at end of file
<view class="operation row cc ac">
<button class="row cc ac font_bold_30 color_submit" bindtap="onEstablish">提交申请</button>
</view>
</view>
\ No newline at end of file
.container {
padding: 0 0 220rpx 0;
}
/* 俱乐部名称 */
.club-info {
width: 750rpx;
......@@ -101,7 +105,7 @@
.club-enter-tip {
width: 670rpx;
height: 112rpx;
margin: 74rpx 0 64rpx 0;
margin: 54rpx 0 0 0;
padding: 16rpx 32rpx;
border-radius: 4px;
background: #F5EEDF;
......@@ -120,4 +124,24 @@
font-weight: 400;
line-height: 40rpx;
color: #837048;
}
/* 操作按钮 */
.operation {
z-index: 4;
position: fixed;
left: 0;
bottom: 0;
width: 750rpx;
height: 156rpx;
padding: 32rpx 40rpx;
border-top: 1px #E2E7EF solid;
background: #FFFFFF;
}
.operation > button {
width: 670rpx;
height: 96rpx;
border-radius: 2px;
background: #86C5E1;
}
\ No newline at end of file
......@@ -177,6 +177,9 @@ Page({
}).then((response) => {
App.ui.hideToast()
wx.setStorageSync('tempBackInfo', 'winEnter')
let funcClubEnterId = wx.getStorageSync('clubEnterId')
funcClubEnterId.push(this.data.clubInfo.id)
wx.setStorageSync('clubEnterId', funcClubEnterId)
wx.navigateBack()
}).catch((response) => {
App.ui.showToast({
......
......@@ -57,6 +57,7 @@
}
.form-item-input {
width: 670rpx;
height: 80rpx;
margin: 16rpx 0 8rpx 0;
padding: 0 24rpx;
......@@ -76,3 +77,22 @@
line-height: 32rpx;
color: #D92B3A;
}
/* 操作按钮 */
.operation {
z-index: 4;
position: fixed;
left: 0;
bottom: 0;
width: 750rpx;
height: 156rpx;
padding: 32rpx 40rpx;
border-top: 1px #E2E7EF solid;
background: #FFFFFF;
}
.operation > button {
width: 670rpx;
height: 96rpx;
border-radius: 2px;
}
\ No newline at end of file
......@@ -65,7 +65,7 @@ Page({
for (let i = 0, l = funcData.length; i < l; i++) {
let funcItem = {
'text': funcData[i].name,
'value': Number(funcData[i].tagId)
'value': funcData[i].tagId
}
funcList.push(funcItem)
}
......@@ -100,8 +100,6 @@ Page({
for (let i = 0, l = funcData.length; i < l; i++) {
funcList.push(funcData[i].clubId)
}
console.log(funcList)
wx.setStorageSync('clubEnterId', funcList)
}).catch((response) => {})
},
......
......@@ -44,7 +44,7 @@
<block wx:for="{{clubList}}" wx:for-item="item" wx:for-index="index" wx:key="index">
<view class="club-item row" data-item="{{item}}" bindtap="onClubDetail">
<view class="club-logo">
<image src="{{item.cover}}"></image>
<image src="{{item.logo}}"></image>
</view>
<view class="club-info column">
<view class="club-info-name row ac">
......
......@@ -26,7 +26,7 @@
<text class="owner-mark" wx:if="{{clubInfo.isOwner}}">业主专享</text>
<view class="club-info-member row cc ac" bindtap="onMemberList">
<text>{{clubInfo.member + ' 成员'}}</text>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
</view>
</view>
......@@ -53,7 +53,7 @@
<text class="tag-blue" wx:if="{{tagNames}}">{{item.tagNames}}</text>
</view>
<view class="card-item-info-time row ac">
<image class="arrow-more" src="{{imageBase + 'icon/clock-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/clock-2.png'}}"></image>
<text>{{item.date}}</text>
</view>
<view class="card-item-other row cb ac">
......
......@@ -182,6 +182,7 @@
/* 俱乐部详情 */
.club-detail {
width: 750rpx;
margin-top: 80rpx;
}
......
......@@ -113,6 +113,45 @@ Page({
})
},
/**
* 保存管理员微信
* @function
* @param
* @returns
*/
onSaveAdminWx: function () {
console.log('onSaveAdminWx')
wx.downloadFile({
url: this.data.adminInfo.wx,
success: (result) => {
wx.saveImageToPhotosAlbum({
filePath: result.tempFilePath,
success: (result) => {
this.setData({
winAdminInfo: false
})
App.ui.showToast({
iconType: 'success',
title: '二维码已保存至相册',
})
},
fail: (error) => {
App.ui.showToast({
iconType: 'error',
title: '保存失败',
})
}
})
},
fail: (error) => {
App.ui.showToast({
iconType: 'error',
title: '保存失败',
})
}
})
},
onPowerInfoClose: function () {
this.setData({
winPowerInfo: false
......
<m-toast></m-toast>
<m-nav titleText="俱乐部信息"></m-nav>
<view class="container">
......@@ -45,7 +46,7 @@
<view class="member-admin row cc ac" hidden="{{!winAdminInfo}}">
<view class="member_admin_info col cc ac">
<text>管理员微信</text>
<image src="{{adminInfo.wx}}"></image>
<image src="{{adminInfo.wx}}" bindlongpress="onSaveAdminWx"></image>
<text>【长按保存二维码】</text>
<button class="row cc ac" bindtap="onAdminInfoClose">我知道了</button>
</view>
......
......@@ -80,13 +80,13 @@
}
.member_admin_info > image {
width: 148rpx;
height: 148rpx;
width: 296rpx;
height: 296rpx;
margin-top: 48rpx;
background: #999999;
}
.member_admin_info > text:nth-child(2) {
.member_admin_info > text:nth-child(3) {
height: 46rpx;
font-size: 26rpx;
font-weight: 400;
......
......@@ -28,7 +28,7 @@
</view>
<view class="row cb ac">
<text class="sign-in-content">消费积分 业主特权</text>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
</view>
......@@ -46,7 +46,7 @@
</swiper-item>
</block>
</swiper>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}" bindtap="onNoticeList"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}" bindtap="onNoticeList"></image>
</view>
</view>
......
......@@ -52,9 +52,10 @@ Page({
* @param
* @returns
*/
onDetail: function (funcEvent) {
onRecordDetail: function (funcEvent) {
let funcItem = funcEvent.currentTarget.dataset.item
console.log(funcItem)
wx.navigateTo({ url: '/pages/mall/exchange-state/exchange-state?id=' + funcItem.id })
},
/**
......
......@@ -6,44 +6,44 @@
<view class="record_list">
<block wx:for="{{recordList}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<!-- 待发货 -->
<view class="record_item column" wx:if="{{item.state === 1}}">
<view class="record_item column" wx:if="{{item.state === 1}}" data-item="{{item}}" bindtap="onRecordDetail">
<view class="row cb ac">
<text class="font_main_26 color_tip">{{'订单编号:'}}</text>
<text class="font_main_26 color_warning">待发货</text>
<text class="font_normal_26 color_secondary">{{'订单编号:'}}</text>
<text class="font_normal_26 color_warning">待发货</text>
</view>
<view class="record_item_info row ac">
<view class="record_item_info_cover">
<image src="{{item.cover}}"></image>
</view>
<view class="record_item_info_name row ac">
<text class="font_strong_30 color_main">{{item.name}}</text>
<text class="font_bold_30 color_regular">{{item.name}}</text>
</view>
<view class="record_item_info_price column ce ae">
<text class="font_strong_30 color_main">{{item.priceTotal + ' 积分'}}</text>
<text class="font_main_26 color_tip">x1</text>
<text class="font_bold_30 color_regular">{{item.priceTotal + ' 积分'}}</text>
<text class="font_normal_26 color_secondary">x1</text>
</view>
</view>
<view class="record_item_operation row ce ac">
<button class="record_item_operation_logistics row cc ac" data-item="{{item}}" bindtap="onDetail">查看详情</button>
<button class="record_item_operation_logistics row cc ac" data-item="{{item}}" bindtap="onRecordDetail">查看详情</button>
</view>
</view>
<!-- 待收货 -->
<view class="record_item column" wx:if="{{item.state === 5}}">
<view class="record_item column" wx:if="{{item.state === 2 || item.state === 5}}" data-item="{{item}}" bindtap="onRecordDetail">
<view class="row cb ac">
<text class="font_main_26 color_tip">{{'订单编号:'}}</text>
<text class="font_main_26 color_warning">待收货</text>
<text class="font_normal_26 color_secondary">{{'订单编号:'}}</text>
<text class="font_normal_26 color_warning">待收货</text>
</view>
<view class="record_item_info row ac">
<view class="record_item_info_cover">
<image src="{{item.cover}}"></image>
</view>
<view class="record_item_info_name row ac">
<text class="font_strong_30 color_main">{{item.name}}</text>
<text class="font_bold_30 color_regular">{{item.name}}</text>
</view>
<view class="record_item_info_price column ce ae">
<text class="font_strong_30 color_main">{{item.priceTotal + ' 积分'}}</text>
<text class="font_main_26 color_tip">x1</text>
<text class="font_bold_30 color_regular">{{item.priceTotal + ' 积分'}}</text>
<text class="font_normal_26 color_secondary">x1</text>
</view>
</view>
<view class="record_item_operation row ce ac">
......@@ -52,21 +52,21 @@
</view>
<!-- 已完成 -->
<view class="record_item column" wx:if="{{item.state === 3}}">
<view class="record_item column" wx:if="{{item.state === 3}}" data-item="{{item}}" bindtap="onRecordDetail">
<view class="row cb ac">
<text class="font_main_26 color_tip">{{'下单时间:'}}</text>
<text class="font_main_26 color_tip">已完成</text>
<text class="font_normal_26 color_secondary">{{'下单时间:'}}</text>
<text class="font_normal_26 color_secondary">已完成</text>
</view>
<view class="record_item_info row ac">
<view class="record_item_info_cover">
<image src="{{item.cover}}"></image>
</view>
<view class="record_item_info_name row ac">
<text class="font_strong_30 color_main">{{item.name}}</text>
<text class="font_bold_30 color_regular">{{item.name}}</text>
</view>
<view class="record_item_info_price column ce ae">
<text class="font_strong_30 color_main">{{item.priceTotal + ' 积分'}}</text>
<text class="font_main_26 color_tip">x1</text>
<text class="font_bold_30 color_regular">{{item.priceTotal + ' 积分'}}</text>
<text class="font_normal_26 color_secondary">x1</text>
</view>
</view>
<view class="record_item_operation row ce ac">
......
// pages/mall/exchange-state/exchange-state.js
let App = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
state: 0,
stateCss: '',
stateTitle: '',
couponInfo: {
'shopName': '',
'shopTime': '',
'userName': '',
'userPhone': '',
},
goodsInfo: [],
addressInfo: {},
otherInfo: {
'timeExpire': '',
'timeCreate': '',
'timeShipment': '',
'number': '',
},
isExpress: false,
winCouponCode: false,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
console.log('onLoad')
this.setData({
exchangeInfo: { 'id': options.id }
})
this.queryExchangeDetail()
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
queryExchangeDetail: function () {
App.ui.showToast({
iconType: 'loading',
title: '正在获取',
duration: 30000
})
App.request({
url: 'v1/order/getOrderDetail',
params: {
'orderId': this.data.exchangeInfo.id
}
}).then((response) => {
let funcData = response.data
// 设置订单状态
let funcState = Number(funcData.status)
let funcStateTitle = ''
let funcStateCss = ''
switch (funcState) {
// 待发货
case 1:
funcStateTitle = '订单待发货'
funcStateCss = '#background: #F3E1E1;'
break
// 待使用
case 2:
funcStateTitle = '订单已发货'
funcStateCss = '#background: #F3E1E1;'
break
// 已使用
case 3:
funcStateTitle = '订单已使用'
funcStateCss = '#background: #ECF4F8;'
break
// 已过期
case 4:
funcStateTitle = '订单已过期'
funcStateCss = '#background: #ECF4F8;'
break
// 已完成
case 4:
funcStateTitle = '订单已完成'
funcStateCss = '#background: #ECF4F8;'
break
}
// 券码信息
let funcCouponInfo = {
'shopName': funcData.officeName,
'shopTime': funcData.businessTime,
'userName': funcData.name,
'userPhone': funcData.mobilePhone,
}
console.log(funcCouponInfo)
// 兑换商品数据
let funcGoodsInfo = []
for (let i = 0, l = funcData.smOrderDetails.length; i < l; i++) {
let funcItem = {
'name': funcData.smOrderDetails[i].name,
'cover': funcData.smOrderDetails[i].imgUrl,
'price': funcData.smOrderDetails[i].totalPrices,
'quantity': funcData.smOrderDetails[i].number,
'state': funcData.smOrderDetails[i].status
}
funcGoodsInfo.push(funcItem)
}
console.log(funcGoodsInfo)
// 寄送地址
let funcAddressInfo = {}
// 其他信息
let funcOtherInfo = {
'timeExpire': funcData.expireTime.replace('~', '-'),
'timeCreate': funcData.createDate,
'timeShipment': '',
'number': funcData.orderSerialNumber,
}
console.log(funcOtherInfo)
this.setData({
state: funcState,
stateCss: funcStateCss,
stateTitle: funcStateTitle,
couponInfo: funcCouponInfo,
goodsInfo: funcGoodsInfo,
addressInfo: funcAddressInfo,
otherInfo: funcOtherInfo,
isExpress: Boolean(Number(funcData.expressType)),
})
App.ui.hideToast()
}).catch((response) => {
})
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
onCouponCodeClose: function () {
this.setData({
winCouponCode: false
})
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
// 导航栏返回事件。
onNavBack: function () {
let funcTempOptions = wx.getStorageSync('tempOptions')
if (funcTempOptions) {
wx.removeStorageSync('tempOptions')
switch (funcTempOptions) {
case 'exchange':
wx.switchTab({ url: '/pages/mine/home/home' })
break
}
}
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
\ No newline at end of file
<!--pages/mall/exchange-state/exchange-state.wxml-->
<text>pages/mall/exchange-state/exchange-state.wxml</text>
<m-toast></m-toast>
<m-nav titleText="订单详情" styleIndex="{{1}}" bind:navBack="onNavBack"></m-nav>
<view class="container">
<!-- 订单状态 -->
<view class="state column cc" style="{{stateCss}}">
<text class="font_bold_54 color_regular">{{stateTitle}}</text>
<text class="font_normal_26 color_regular">{{'有效期' + otherInfo.timeExpire}}</text>
</view>
<!-- 邮寄订单内容 -->
<block wx:if="{{isExpress}}">
<!-- 快递提示 -->
<view class="express_tip row ac">
<image class="icon_32" src="{{imageBase + 'icon/warning-4.png'}}"></image>
<text class="font_normal_22 color_tip">快递运费自理,顺丰到付,12-23元不等</text>
</view>
<!-- 收货信息 -->
<view class="address_info">
<text class="font_bold_34 color_regular">收货信息</text>
<view class="address_info_selection row ac" bindtap="onAddressSelection">
<view>
<image class="icon_40" src="{{imageBase + 'icon/location-1.png'}}"></image>
</view>
<!-- 等待添加地址 -->
<block wx:if="{{!addressSelection.id}}">
<view class="address_info_detail row ac">
<text class="address_info_detail_name">添加收货地址</text>
</view>
</block>
<!-- 已经选择地址 -->
<block wx:if="{{addressSelection.id}}">
<view class="address_info_detail cloumn">
<view class="row ac">
<text class="address_info_detail_name">{{addressSelection.name}}</text>
<text class="address_info_detail_phone">{{addressSelection.phone}}</text>
</view>
<view class="row">
<text class="address_info_detail_address">{{addressSelection.area + addressSelection.address}}</text>
</view>
</view>
</block>
<view>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
</view>
</view>
<!-- 兑换商品 - 寄送样式 -->
<view class="goods">
<text class="font_bold_34 color_regular">兑换商品</text>
<view class="goods_list">
<block wx:for="{{goodsInfo}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="goods_item row ac">
<view class="goods_item_cover">
<image src="{{item.cover}}"></image>
</view>
<view class="goods_item_info column">
<text class="font_bold_26 color_regular">{{item.name}}</text>
</view>
<view class="column ae">
<view class="row ce ac">
<text class="font_normal_26 color_regular">{{item.price}}</text>
<text class="font_normal_26 color_warning" space="nbsp"> 积分</text>
</view>
<view class="row">
<text class="font_normal_26 color_secondary">{{'x' + item.quantity}}</text>
</view>
</view>
</view>
</block>
</view>
</view>
</block>
<!-- 自取订单内容 -->
<block wx:if="{{!isExpress}}">
<!-- 券码信息 -->
<view class="coupon">
<view class="coupon_info column">
<view class="coupon_info_shop row ac">
<text class="font_normal_26 color_secondary">使用门店</text>
<text class="font_bold_38 color_regular">{{couponInfo.shopName}}</text>
</view>
<view class="coupon_info_date row ac">
<text></text>
<text class="font_normal_30 color_regular">{{couponInfo.shopTime}}</text>
</view>
<view class="coupon_info_name row ac">
<text class="font_normal_26 color_secondary">订单信息</text>
<text class="font_normal_26 color_regular">{{couponInfo.userName}}</text>
</view>
<view class="coupon_info_phone row ac">
<text></text>
<text class="font_normal_26 color_regular">{{couponInfo.userPhone}}</text>
</view>
</view>
<view class="coupon_code">
<view class="coupon_code_point_left"></view>
<view class="coupon_code_point_right"></view>
<view class="coupon_code_name row cc ac">
<text class="font_bold_34 color_regular">1张门票可用</text>
</view>
<view class="coupon_code_scan">
<button class="row cc ac font_normal_30 color_submit">一键扫码</button>
</view>
<view class="coupon_code_date row cc ac">
<text class="font_normal_26 color_secondary">{{'有效期' + otherInfo.timeExpire}}</text>
</view>
</view>
<view class="notice row ce ac">
<text class="font_normal_30 color_secondary">使用须知</text>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
</view>
<!-- 兑换商品 - 自取样式 -->
<view class="goods">
<text class="font_bold_34 color_regular">兑换商品</text>
<view class="goods_list">
<block wx:for="{{goodsInfo}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="goods_item row ac">
<view class="goods_item_cover">
<image src="{{item.corver}}"></image>
</view>
<view class="goods_item_info column">
<text class="font_bold_26 color_regular">{{item.name}}</text>
<view class="row ac">
<text class="font_normal_26 color_regular">{{item.price}}</text>
<text class="font_normal_26 color_warning" space="nbsp"> 积分</text>
</view>
</view>
<view class=" row">
<button class="goods_item_operation_code font_bold_22 color_submit row cc ac" wx:if="{{item.state === 2}}">查看券码</button>
<button class="goods_item_operation_used font_bold_22 color_submit row cc ac" wx:if="{{item.state === 3}}">已使用</button>
<button class="goods_item_operation_used font_bold_22 color_submit row cc ac" wx:if="{{item.state === 4}}">已过期</button>
</view>
</view>
</block>
</view>
</view>
</block>
<!-- 兑换积分 -->
<view class="integral row cb ac">
<text class="font_bold_34 color_regular">兑换积分</text>
<view class="row ac">
<text class="font_normal_42 color_warning">5000</text>
<text class="font_bold_38 color_regular" space="nbsp"> 积分</text>
</view>
</view>
<!-- 其他信息 -->
<view class="other column">
<text class="font_normal_22 color_secondary">订单编号: 12345994500652</text>
<text class="font_normal_22 color_secondary">下单时间: 2020-09-30 12:00:00</text>
</view>
<!-- 操作按钮 -->
<view class="operation row ce ac">
<button class="operation_cancel row cc ac font_normal_30 color_cancel">删除订单</button>
</view>
</view>
<!-- 二维码弹窗 -->
<view class="dialog_coupon_code row cc ac" wx:if="{{winCouponCode}}">
<view class="dialog_coupon_code_wrap col cc ac">
<text class="font_normal_26 color_submit">{{'请将券码出示给门店核销人员'}}</text>
<view class="dialog_coupon_code_info col cc ac">
<text class="font_normal_30 color_regular">{{codeInfo.codeName}}</text>
<image class="dialog_coupon_code_content" src="{{'data:image/png;base64,' + codeInfo.codeBase64}}"></image>
<view class="dialog_coupon_code_operation row con-b ac">
<text class="font_bold_26 color_secondary">券码</text>
<text class="font_bold_30 color_regular">{{codeInfo.codeNo}}</text>
<text class="font_bold_26 color_primary" bindtap="onCodeCopy">复制</text>
</view>
</view>
<view class="dialog_coupon_code_close row cc ac" bindtap="onCouponCodeClose">
<image class="icon_48" src="{{imageBase + 'icon/close-1.png'}}"></image>
</view>
</view>
</view>
\ No newline at end of file
/* pages/mall/exchange-state/exchange-state.wxss */
\ No newline at end of file
.container {
padding: 0 0 60rpx 0;
}
/* 订单状态 */
.state {
width: 670rpx;
height: 240rpx;
margin: 60rpx 0 0 0;
padding: 0 32rpx;
border-radius: 2px;
background: #ECF4F8;
}
.state > text:nth-child(2) {
margin: 25rpx 0 0 0;
}
/* 快递提示 */
.express_tip {
width: 670rpx;
height: 72rpx;
margin: 32rpx 0 0 0;
padding: 0 32rpx;
border-radius: 2px;
background: #F5EEDF;
}
.express_tip > image {
margin: 0 12rpx 0 0;
}
/* 券码信息 */
.coupon {
width: 670rpx;
margin: 64rpx 0 0 0;
}
.coupon_info {
height: 342rpx;
padding: 48rpx 48rpx 0 48rpx;
border-radius: 2px;
background: #F3F4F6;
}
.coupon_info_date {
margin: 16rpx 0 0 0;
}
.coupon_info_name {
margin: 48rpx 0 0 0;
}
.coupon_info_phone {
margin: 16rpx 0 0 0;
}
.coupon_info_shop > text:nth-child(1),
.coupon_info_date > text:nth-child(1),
.coupon_info_name > text:nth-child(1),
.coupon_info_phone > text:nth-child(1) {
width: 104rpx;
height: 36rpx;
margin: 0 40rpx 0 0;
}
.coupon_code {
position: relative;
height: 332rpx;
padding: 48rpx 48rpx 0 48rpx;
border-top: 1px #E2E7EF dashed;
border-radius: 2px;
background: #F3F4F6;
}
.coupon_code_point_left,
.coupon_code_point_right {
width: 36rpx;
height: 36rpx;
border-radius: 50%;
background: #FFFFFF;
}
.coupon_code_point_left {
position: absolute;
top: -18rpx;
left: -18rpx;
}
.coupon_code_point_right {
position: absolute;
top: -18rpx;
right: -18rpx;
}
.coupon_code_scan > button {
width: 574rpx;
height: 96rpx;
margin: 40rpx 0 0 0;
border-radius: 2px;
background: #86C5E1;
}
.coupon_code_date {
margin: 40rpx 0 0 0;
}
.notice {
margin: 24rpx 0 0 0;
}
.notice > text {
margin: 0 4rpx 0 0;
}
/* 收货信息 */
.address_info {
margin: 64rpx 0 0 0;
}
.address_info_selection {
width: 670rpx;
height: 174rpx;
margin: 42rpx 0 0 0;
padding: 38rpx 32rpx 42rpx 32rpx;
border-radius: 2px;
background: #F5F6F8;
}
.address_info_detail {
flex-grow: 1;
margin: 0 32rpx;
}
.address_info_detail_name {
height: 42rpx;
margin: 0 20rpx 0 0;
font-size: 30rpx;
font-weight: 800;
line-height: 42rpx;
color: #15191F;
}
.address_info_detail_phone {
height: 36rpx;
font-size: 26rpx;
font-weight: 400;
line-height: 36rpx;
color: #959DA9;
}
.address_info_detail_address {
height: 36rpx;
margin: 16rpx 0 0 0;
font-size: 26rpx;
font-weight: 400;
line-height: 36rpx;
color: #15191F;
}
/* 商品信息 */
.goods {
margin: 64rpx 0 0 0;
}
.goods_list {
width: 670rpx;
min-height: 200rpx;
margin: 40rpx 0;
padding: 18rpx 32rpx;
border-radius: 2px;
background: #F3F4F6;
}
.goods_item {
height: 182rpx;
padding: 22rpx 0;
border-bottom: 1px #E2E7EF solid;
}
.goods_item:last-child {
border: none;
}
.goods_item_cover > image {
display: block;
width: 140rpx;
height: 136rpx;
margin: 0 24rpx 0 0;
background: #999999;
}
.goods_item_info {
flex-grow: 1;
min-height: 36rpx;
margin: 0 32rpx 0 0;
}
.goods_item_info > text {
margin: 0 0 16rpx 0;
}
.goods_item_operation_code {
width: 120rpx;
height: 56rpx;
border-radius: 2px;
background: #86C5E1;
}
/* 兑换积分 */
.integral {
width: 670rpx;
margin: 70rpx 0 0 0;
}
/* 其他信息 */
.other {
width: 670rpx;
margin: 32rpx 0 0 0;
}
.other > text:nth-child(2) {
margin: 10rpx 0 0 0;
}
/* 相关操作 */
.operation {
width: 750rpx;
height: 120rpx;
margin: 64rpx 0 0 0;
padding: 24rpx 40rpx;
border-top: 1px #E2E7EF solid;
background: #FFFFFF;
}
.operation_cancel {
width: 200rpx;
height: 80rpx;
border-radius: 2px;
border: 1px solid #C2C7CF;
}
/* 券码弹窗 */
.dialog_coupon_code {
z-index: 7;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .65);
}
.dialog_coupon_code_info {
width: 526rpx;
height: 666rpx;
margin: 56rpx 0 48rpx 0;
border-radius: 2px;
background: #FFFFFF;
}
.dialog_coupon_code_content {
width: 296rpx;
height: 296rpx;
margin: 56rpx 0 0 0;
}
.dialog_coupon_code_operation {
width: 446rpx;
height: 96rpx;
margin: 56rpx 0 0 0;
padding: 0 24rpx;
border-radius: 2px;
background: #F2F3F5;
}
.dialog_coupon_code_close {
width: 80rpx;
height: 80rpx;
border-radius: 50%;
background: rgba(254, 252, 249, 0.5);
}
\ No newline at end of file
......@@ -9,7 +9,7 @@ Page({
},
data: {
isExpress: true,
exchangeQuantity: 2,
exchangeQuantity: 1,
errorQuantity: '',
shopInfo: {}, // 取货门店
goodsInfo: {}, // 兑换商品
......
......@@ -16,6 +16,7 @@ Page({
},
onExchangeState: function () {
wx.setStorageSync('tempOptions', 'exchange')
wx.reLaunch({ url: '/pages/mall/exchange-state/exchange-state?id=' + this.data.exchangeInfo.id })
},
})
\ No newline at end of file
......@@ -210,6 +210,16 @@ Page({
},
/**
* 积分明细
* @function
* @param {object} - funcEvent
* @returns
*/
onIntegralDetail: function () {
wx.navigateTo({ url: '/pages/mine/accumulate/accumulate' })
},
/**
* 商品详情
* @function
* @param {object} - funcEvent
......
......@@ -13,7 +13,7 @@
<image class="icon_48" src="{{imageBase + 'icon/exchange-3.png'}}"></image>
<text>兑换记录</text>
</view>
<view class="integral_detail column cc ac">
<view class="integral_detail column cc ac" bindtap="onIntegralDetail">
<image class="icon_48" src="{{imageBase + 'icon/list-3.png'}}"></image>
<text>积分明细</text>
</view>
......
......@@ -22,19 +22,16 @@ Page({
type: '', // "" 全部 0 获取 1消费(0 发放 1 兑换)
accumulateList: [],
selectedList: [],
integral: '0',
integral: 0,
type: '',
accumulateListHeight: 0,
},
onLoad: function(options) {
let integral = options.integral
this.setData({
integral: integral
})
this.setAccumulateListHeight()
this.getAccumulate()
this.queryIntegral()
},
setAccumulateListHeight: function () {
......@@ -46,6 +43,23 @@ Page({
console.log(funcAccumulateListHeight)
},
/**
* 查询积分
* @function
* @param
* @returns
*/
queryIntegral: function () {
App.request({
url: 'v1/smUser/getIntegral',
}).then((response) => {
let funcData = response.data
this.setData({
integral: funcData.integral
})
}).catch((response) => {})
},
// 获取积分列表
getAccumulate: function() {
wx.showLoading({
......
......@@ -31,7 +31,7 @@
<picker class="address_item_picker" mode="region" bindchange="onRegionChange" value="{{region}}">
<view class="row ac cb">
<view>{{region[0]}}{{region[1]}}{{region[2]}}</view>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
</picker>
</view>
......
......@@ -21,7 +21,6 @@ Page({
'userType': 0,
'remarks': '',
'phone': '',
'wx': '',
},
winMember: false,
......@@ -64,7 +63,6 @@ Page({
'userType': Number(funcData[i].userType), // 用户身份
'remarks': funcData[i].remarks,
'phone': funcData[i].mobile,
'wx': funcData[i].wxAccount,
}
funcList.push(funcItem)
}
......@@ -252,7 +250,6 @@ Page({
'date': funcData.joinDate, // 加入日期
'refuse': funcData.auditRemarks, // 拒绝原因
'auditor': funcData.auditor ? funcData.auditor : '后台审核',
'wx': funcData.wxAccount, // 微信二维码图
},
winMember: true
})
......
......@@ -25,10 +25,6 @@
<text class="text_overflow_point">{{item.nickname}}</text>
</view>
<view class="row ac">
<text>微信号</text>
<text class="text_overflow_point">{{item.wx}}</text>
</view>
<view class="row ac">
<text>备注</text>
<text class="text_overflow_point">{{item.remarks}}</text>
</view>
......@@ -86,10 +82,6 @@
<text class="text_overflow_point">{{memberInfo.nickname}}</text>
</view>
<view class="row">
<text>微信号</text>
<text class="text_overflow_point">{{memberInfo.wx}}</text>
</view>
<view class="row">
<text>备注</text>
<text class="text_overflow_point">{{memberInfo.remarks}}</text>
</view>
......
......@@ -43,6 +43,7 @@ Page({
'memberId': funcData[i].memberId,
'state': Number(funcData[i].state),
'date': funcData[i].date,
'adminWx': funcData[i].creatorImg,
'isOwner': Number(funcData[i].owner) === 0 ? false : true
}
funcList.push(funcItem)
......@@ -248,24 +249,53 @@ Page({
*/
onAdminInfo: function (funcEvent) {
let funcItem = funcEvent.currentTarget.dataset.item
App.request({
url: 'v3/club/getClubAdmin',
params: {
'clubId': funcItem.id,
}
}).then((response) => {
}).catch((response) => {})
console.log(funcItem)
this.setData({
adminInfo: {
wx: funcItem.wx
wx: funcItem.adminWx
},
winAdminInfo: true
})
},
/**
* 保存管理员微信
* @function
* @param
* @returns
*/
onSaveAdminWx: function () {
wx.downloadFile({
url: this.data.adminInfo.wx,
success: (result) => {
wx.saveImageToPhotosAlbum({
filePath: result.tempFilePath,
success: (result) => {
this.setData({
winAdminInfo: false
})
App.ui.showToast({
iconType: 'success',
title: '二维码已保存至相册',
})
},
fail: (error) => {
App.ui.showToast({
iconType: 'error',
title: '保存失败',
})
}
})
},
fail: (error) => {
App.ui.showToast({
iconType: 'error',
title: '保存失败',
})
}
})
},
onAdminInfoClose: function () {
this.setData({
winAdminInfo: false
......
......@@ -99,7 +99,7 @@
<view class="member-admin row cc ac" hidden="{{!winAdminInfo}}">
<view class="member_admin_info col cc ac">
<text>管理员微信</text>
<image src="{{adminInfo.wx}}"></image>
<image src="{{adminInfo.wx}}" bindlongpress="onSaveAdminWx"></image>
<text>【长按保存二维码】</text>
<button class="row cc ac" bindtap="onAdminInfoClose">我知道了</button>
</view>
......
......@@ -496,9 +496,6 @@ Page({
* @returns
*/
onIntegralDetail: function () {
// wx.navigateTo({
// url: '/pages/mine/accumulate/accumulate?integral=' + integral,
// })
wx.navigateTo({ url: '/pages/mall/home/home' })
},
......
......@@ -33,7 +33,7 @@
</view>
<view class="info-integral-title row ce ac">
<text>我的积分</text>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
</view>
</view>
......@@ -82,7 +82,7 @@
</view>
<view class="info-integral-title row ce ac">
<text class="info-owner">我的积分</text>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-4.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-4.png'}}"></image>
</view>
</view>
</view>
......@@ -96,7 +96,7 @@
<text>券码核销</text>
<text>{{'所属门店:' + authInfo.officeName}}</text>
</view>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
<!-- 我的订单 -->
......@@ -104,7 +104,7 @@
<view class="card-title row cb ac">
<text>我的订单</text>
<text bindtap="onOrderList">查看全部</text>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
<!-- 分类 tab -->
......@@ -198,7 +198,7 @@
<!-- 展开更多 -->
<view class="order-more row cc ac" wx:if="{{orderList.length > 1}}" bindtap="onMoreOrder">
<text>{{isMoreOrder ? '收起' : '展开更多'}}</text>
<image class="arrow-more" src="{{isMoreOrder ? imageBase + 'icon/arrow-t-2.png' : imageBase + 'icon/arrow-b-2.png'}}"></image>
<image class="icon_32" src="{{isMoreOrder ? imageBase + 'icon/arrow-t-2.png' : imageBase + 'icon/arrow-b-2.png'}}"></image>
</view>
</view>
......@@ -207,7 +207,7 @@
<view class="card-title row cb ac">
<text>我的预约</text>
<text data-type="0" bindtap="onAppointmentList">查看全部</text>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
<!-- 分类 tab -->
......@@ -261,7 +261,7 @@
<!-- 展开更多 -->
<view class="order-more row cc ac" wx:if="{{appointmentList.length > 1}}" bindtap="onMoreAppointment">
<text>{{isMoreAppointment ? '收起' : '展开更多'}}</text>
<image class="arrow-more" src="{{isMoreAppointment ? imageBase + 'icon/arrow-t-2.png' : imageBase + 'icon/arrow-b-2.png'}}"></image>
<image class="icon_32" src="{{isMoreAppointment ? imageBase + 'icon/arrow-t-2.png' : imageBase + 'icon/arrow-b-2.png'}}"></image>
</view>
</view>
......
......@@ -49,7 +49,7 @@
</view>
<view class="info_item row cb ac" bindtap="onAddressList">
<text>收货地址</text>
<image class="arrow-more" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
<image class="icon_32" src="{{imageBase + 'icon/arrow-r-2.png'}}"></image>
</view>
</view>
</view>
......
......@@ -316,7 +316,6 @@
}
/* 券码 */
.code-mask {
position: fixed;
top: 0;
......
......@@ -98,7 +98,7 @@
<block wx:for="{{clubList}}" wx:for-index="index" wx:for-item="item" wx:key="index">
<view class="club-item row cc" data-item="{{item}}" bindtap="onClubDetail">
<view class="club-item-info column ac">
<image src="{{item.cover}}"></image>
<image src="{{item.logo}}"></image>
<text class="club-item-info-name">{{item.name}}</text>
<text class="club-item-info-owner owner-mark" wx:if="{{item.isOwner}}">业主专享</text>
</view>
......
......@@ -67,4 +67,14 @@ for (let i = 0, l = funcData.length; i < l; i++) {
funcList.push(funcItem)
}
// 界面循环 <block wx:for="{{lineStyle}}" wx:for-index="index" wx:for-item="item" wx:key="index">
\ No newline at end of file
// 界面循环 <block wx:for="{{lineStyle}}" wx:for-index="index" wx:for-item="item" wx:key="index">
// 常用变量命名
// 物件类型,商品,券码等等
let funcItem = {
'id': '', // 唯一标识
'number': '', // 编号
'name': '', // 名称
'type': '', // 类型
'quantity': '', // 数量
}
\ No newline at end of file
......@@ -35,21 +35,15 @@
justify-content: space-around;
}
.align-s {
align-items: flex-start;
}
.align-s { align-items: flex-start; }
.align-c {
align-items: center;
}
.align-e {
align-items: flex-end;
}
.align-e { align-items: flex-end; }
.grow {
flex-grow: 1;
}
.grow { flex-grow: 1; }
.background-image {
z-index: -1;
......@@ -58,8 +52,4 @@
left: 0;
width: 100%;
height: 100%;
}
.tt {
border: 1px red solid;
}
\ No newline at end of file
/* 主题颜色 */
.color_primary { color: #5DB5DD; }
/* 常规颜色 */
.color_main {
color: #15191F;
}
.color_regular { color: #15191F; }
/* 提示颜色 */
.color_tip {
color: #959DA9;
}
.color_secondary { color: #959DA9; }
/* 警告颜色 */
.color_warning {
color: #E66060;
}
.color_warning { color: #E66060; }
/* 提示颜色 */
.color_tip { color: #837048; }
/* 取消颜色 */
.color_cancel {
color: #656E7B;
}
.color_cancel { color: #656E7B; }
/* 确定颜色 */
.color_submit {
color: #FFFFFF;
}
.font_main_26 {
font-size: 26rpx;
font-weight: 500;
line-height: 36rpx;
}
.font_main_30 {
font-size: 30rpx;
font-weight: 500;
line-height: 40rpx;
}
/* 加粗文本 */
.font_strong_26 {
font-size: 26rpx;
font-weight: 800;
line-height: 36rpx;
}
.font_strong_30 {
font-size: 30rpx;
font-weight: 800;
line-height: 40rpx;
}
\ No newline at end of file
.color_submit { color: #FFFFFF; }
/* 可用颜色 */
.color_able { color: #86C5E1;}
.bgcolor_able { background-color: #86C5E1; }
/* 禁用颜色 */
.color_disable { color: #86C5E1 }
.bgcolor_disable { background-color: #86C5E1; }
/* 常规 */
.font_normal_22 { font-size: 22rpx; font-weight: 400; line-height: 32rpx; }
.font_normal_26 { font-size: 26rpx; font-weight: 400; line-height: 36rpx; }
.font_normal_30 { font-size: 30rpx; font-weight: 400; line-height: 40rpx; }
.font_normal_34 { font-size: 34rpx; font-weight: 400; line-height: 48rpx; }
.font_normal_38 { font-size: 38rpx; font-weight: 400; line-height: 52rpx; }
.font_normal_42 { font-size: 42rpx; font-weight: 400; line-height: 58rpx; }
.font_normal_54 { font-size: 54rpx; font-weight: 400; line-height: 76rpx; }
/* 粗体 */
.font_bold_22 { font-size: 22rpx; font-weight: 700; line-height: 32rpx; }
.font_bold_26 { font-size: 26rpx; font-weight: 700; line-height: 36rpx; }
.font_bold_30 { font-size: 30rpx; font-weight: 700; line-height: 40rpx; }
.font_bold_34 { font-size: 34rpx; font-weight: 700; line-height: 40rpx; }
.font_bold_38 { font-size: 38rpx; font-weight: 700; line-height: 52rpx; }
.font_bold_42 { font-size: 42rpx; font-weight: 700; line-height: 58rpx; }
.font_bold_54 { font-size: 54rpx; font-weight: 700; line-height: 76rpx; }
/* 更粗 */
.font_bolder_22 { font-size: 22rpx; font-weight: 900; line-height: 32rpx; }
.font_bolder_26 { font-size: 26rpx; font-weight: 900; line-height: 36rpx; }
.font_bolder_30 { font-size: 30rpx; font-weight: 900; line-height: 40rpx; }
.font_bolder_34 { font-size: 30rpx; font-weight: 900; line-height: 40rpx; }
.font_bolder_38 { font-size: 38rpx; font-weight: 900; line-height: 52rpx; }
.font_bolder_42 { font-size: 42rpx; font-weight: 900; line-height: 58rpx; }
.font_bolder_54 { font-size: 54rpx; font-weight: 900; line-height: 76rpx; }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment