Commit fa00b689 by 严立

LL - 兑换商品订单详情

parent e6dbdb99
Showing with 1040 additions and 325 deletions
...@@ -13,40 +13,16 @@ ...@@ -13,40 +13,16 @@
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.arrow-more {
width: 32rpx;
height: 32rpx;
}
.icon { .icon {
width: 32rpx; width: 32rpx;
height: 32rpx; height: 32rpx;
} }
.icon_32 { .icon_32 { width: 32rpx; height: 32rpx; }
width: 32rpx; .icon_40 { width: 40rpx; height: 40rpx; }
height: 32rpx; .icon_48 { width: 48rpx; height: 48rpx; }
} .icon_80 { width: 80rpx; height: 80rpx; }
.icon_136 { width: 136rpx; height: 136rpx; }
.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 { .bg-gradient {
background: linear-gradient(180deg, #FFFFFF 0%, #F3F4F6 20%, #F3F4F6 100%); background: linear-gradient(180deg, #FFFFFF 0%, #F3F4F6 20%, #F3F4F6 100%);
......
.m-button-bottom-content { .m-button-bottom-content {
z-index: 4;
position: fixed; position: fixed;
bottom: 0; bottom: 0;
left: 0; left: 0;
......
...@@ -24,6 +24,22 @@ Component({ ...@@ -24,6 +24,22 @@ Component({
winDialog: false, winDialog: false,
}, },
/**
* 组件实例创建时添加,修复页面在 onLoad 生命周期中调用组件实例不正确问题。
* @function
* @param
* @returns
*/
created: function () {
App.ui.dialog = this
},
/**
* 组件实例创建时添加,修复页面在 onLoad 生命周期中调用组件实例不正确问题。
* @function
* @param
* @returns
*/
pageLifetimes: { pageLifetimes: {
show: function () { show: function () {
App.ui.dialog = this App.ui.dialog = this
......
...@@ -2,6 +2,7 @@ Component({ ...@@ -2,6 +2,7 @@ Component({
options: { options: {
styleIsolation: 'apply-shared' styleIsolation: 'apply-shared'
}, },
properties: { properties: {
inputId: { type: String, value: '' }, inputId: { type: String, value: '' },
className: { type: String, value: '' }, className: { type: String, value: '' },
...@@ -13,23 +14,56 @@ Component({ ...@@ -13,23 +14,56 @@ Component({
data: { data: {
inputFocus: false, inputFocus: false,
inputQuantity: 0, inputQuantity: 0,
cssTextarea: '',
winText: true, winText: true,
winInput: false, winInput: false,
}, },
methods: { 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) { onInput: function (event) {
this.setData({ this.setData({
inputQuantity: event.detail.value.length inputQuantity: event.detail.value.length
}) })
console.log(this.data.inputQuantity)
}, },
/**
* 组件聚焦
* @function
* @param
* @returns
*/
onInputFocus: function() { onInputFocus: function() {
console.log('onInputFocus') this.setTextareaCss()
}, },
/**
* 组件输入结束
* @function
* @param {object} - event
* @returns
*/
onInputBlur: function(event) { onInputBlur: function(event) {
this.setData({ this.setData({
value: event.detail.value, value: event.detail.value,
...@@ -38,10 +72,22 @@ Component({ ...@@ -38,10 +72,22 @@ Component({
this.triggerEvent('blur', { id: this.data.inputId, value: this.data.value }) this.triggerEvent('blur', { id: this.data.inputId, value: this.data.value })
}, },
/**
* 组件输入结束
* @function
* @param {object} - event
* @returns
*/
onInputConfirm: function() { onInputConfirm: function() {
this.setInputHidden() this.setInputHidden()
}, },
/**
* 显示输入组件
* @function
* @param
* @returns
*/
setInputShow: function() { setInputShow: function() {
this.setData({ this.setData({
winText: false, winText: false,
...@@ -55,6 +101,12 @@ Component({ ...@@ -55,6 +101,12 @@ Component({
}, 20) }, 20)
}, },
/**
* 隐藏输入组件
* @function
* @param
* @returns
*/
setInputHidden: function() { setInputHidden: function() {
this.setData({ this.setData({
inputFocus: false, inputFocus: false,
......
<view class="m-textarea"> <view class="m_textarea_container">
<view class="m-textarea-text {{className}}" hidden="{{!winText}}" bindtap="setInputShow"> <view class="m_textarea_content {{className}}" hidden="{{!winText}}" bindtap="setInputShow">
<view class="m-textarea-text-wrap"> <view class="m_textarea_content_boundary">
<text class="m-textarea-text-value" wx:if="{{value === '' ? false : true}}">{{value}}</text> <text class="m_textarea_content_color" wx:if="{{value === '' ? false : true}}">{{value}}</text>
<text class="m-textarea-text-placeholder" wx:if="{{value === '' ? true : false}}">{{placeholder}}</text> <text class="m_textarea_placeholder_color" wx:if="{{value === '' ? true : false}}">{{placeholder}}</text>
</view> </view>
</view> </view>
<view class="m-textarea-input {{className}}" hidden="{{!winInput}}"> <view class="m_textarea_content {{className}}" hidden="{{!winInput}}">
<view class="m-textarea-text-wrap"> <view class="m_textarea_content_boundary">
<textarea <textarea
class="m_textarea m_textarea_content_color"
style="{{cssTextarea}}"
value="{{value}}" value="{{value}}"
placeholder="{{placeholder}}" placeholder="{{placeholder}}"
placeholder-class="m-textarea-text-placeholder" placeholder-class="m_textarea_placeholder_color"
maxlength="{{inputMax}}" maxlength="{{inputMax}}"
focus="{{inputFocus}}" focus="{{inputFocus}}"
bindinput="onInput" bindinput="onInput"
...@@ -22,7 +24,7 @@ ...@@ -22,7 +24,7 @@
</view> </view>
</view> </view>
<view class="m-textarea-quantity"> <view class="m_textarea_total">
<text>{{inputQuantity + '/' + inputMax}}</text> <text class="m_textarea_total_quantity">{{inputQuantity + '/' + inputMax}}</text>
</view> </view>
</view> </view>
\ No newline at end of file
.m-textarea { .m_textarea_container {
position: relative; position: relative;
} }
.m-textarea-text-wrap { .m_textarea_content_boundary {
width: 100%; max-width: 100%;
height: 100%; max-height: 100%;
overflow-x: hidden; overflow-x: hidden;
overflow-y: scroll; overflow-y: scroll;
} }
.m-textarea-text-value { .m_textarea_content_color {
color: #000000; color: #000000;
} }
.m-textarea-input > view { .m_textarea_placeholder_color {
margin: 0 0 40rpx 0;
}
.m-textarea-text-placeholder {
display: inline-block; display: inline-block;
font-size: 30rpx; font-size: 30rpx;
font-weight: 400; font-weight: 400;
...@@ -25,14 +21,18 @@ ...@@ -25,14 +21,18 @@
color: #C2C7CF; color: #C2C7CF;
} }
.m_textarea {
width: 100%;
}
/* 输入计数 */ /* 输入计数 */
.m-textarea-quantity { .m_textarea_total {
position: absolute; position: absolute;
bottom: 16rpx; bottom: 16rpx;
right: 24rpx; right: 24rpx;
} }
.m-textarea-quantity > text { .m_textarea_total_quantity {
height: 32rpx; height: 32rpx;
font-size: 22rpx; font-size: 22rpx;
font-weight: 400; font-weight: 400;
......
...@@ -21,6 +21,22 @@ Component({ ...@@ -21,6 +21,22 @@ Component({
winToast: false, winToast: false,
}, },
/**
* 组件实例创建时添加,修复页面在 onLoad 生命周期中调用组件实例不正确问题。
* @function
* @param
* @returns
*/
created: function () {
App.ui.toast = this
},
/**
* 组件实例显示时添加,以此纠正其他页面被销毁时,捕获到当前页面正确的组件实例。
* @function
* @param
* @returns
*/
pageLifetimes: { pageLifetimes: {
show: function () { show: function () {
App.ui.toast = this App.ui.toast = this
......
...@@ -11,45 +11,14 @@ ...@@ -11,45 +11,14 @@
8 : 遮罩 8 : 遮罩
9 : 遮罩 9 : 遮罩
*/ */
.row { .row { display: flex; flex-direction: row; }
display: flex; .column { display: flex; flex-direction: column; }
flex-direction: row; .cs { justify-content: flex-start; }
} .cc { justify-content: center; }
.ce { justify-content: flex-end; }
.column { .cb { justify-content: space-between; }
display: flex; .ca { justify-content: space-around; }
flex-direction: column; .as { align-items: flex-start; }
} .ac { align-items: center; }
.ae { align-items: flex-end; }
.cs { \ No newline at end of file
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 { .primary { color: #5DB5DD; }
color: #5DB5DD;
}
/* 成功 */ /* 成功 */
.success { .success { color: #67C23A; }
color: #67C23A;
}
/* 警告 */ /* 警告 */
.warning { .warning { color: #E6A23C; }
color: #E6A23C;
}
/* 危险 */ /* 危险 */
.danger { .danger { color: #F56C6C; }
color: #F56C6C;
}
/* 提示 */ /* 提示 */
.info { .info { color: #909399; }
color: #909399;
}
/* 常规文本,用于标题,正文 */ /* 常规文本,用于标题,正文 */
.regular { .regular { color: #15191F; }
color: #15191F;
}
/* 次要文本,用于说明,补充,提示 */ /* 次要文本,用于说明,补充,提示 */
.secondary { .secondary { color: #959DA9; }
color: #959DA9;
}
/* 输入提示 */ /* 输入提示 */
.placeholder { .placeholder { color: #C2C7CF; }
color: #C2C7CF;
}
/* 基础边框 */ /* 基础边框 */
.border-base { .border-base { border-color: #E2E7EF; }
border-color: #E2E7EF;
}
/* 明亮边框 */ /* 明亮边框 */
.border-light { .border-light { border-color: #E4E7ED; }
border-color: #E4E7ED;
}
/* 最亮边框 */ /* 最亮边框 */
.border-lighter { .border-lighter { border-color: #EBEEF5; }
border-color: #EBEEF5; \ No newline at end of file
}
\ No newline at end of file
...@@ -101,5 +101,15 @@ Page({ ...@@ -101,5 +101,15 @@ Page({
title: response.message, title: response.message,
}) })
}) })
} },
/**
* 页面滚动事件
* @function
* @param {object} - funcEvent
* @returns
*/
onPageScroll: function (funcEvent) {
},
}) })
\ No newline at end of file
...@@ -52,6 +52,8 @@ ...@@ -52,6 +52,8 @@
<image src="{{imageBase + 'icon/warning-4.png'}}"></image> <image src="{{imageBase + 'icon/warning-4.png'}}"></image>
<text>申请提交后,审核人员将主动与您联系(预计5个工作日),并协助后续资料整理。</text> <text>申请提交后,审核人员将主动与您联系(预计5个工作日),并协助后续资料整理。</text>
</view> </view>
</view>
<m-button-bottom text="提交申请" bindtap="onEstablish"></m-button-bottom> <view class="operation row cc ac">
\ No newline at end of file <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 { .club-info {
width: 750rpx; width: 750rpx;
...@@ -101,7 +105,7 @@ ...@@ -101,7 +105,7 @@
.club-enter-tip { .club-enter-tip {
width: 670rpx; width: 670rpx;
height: 112rpx; height: 112rpx;
margin: 74rpx 0 64rpx 0; margin: 54rpx 0 0 0;
padding: 16rpx 32rpx; padding: 16rpx 32rpx;
border-radius: 4px; border-radius: 4px;
background: #F5EEDF; background: #F5EEDF;
...@@ -120,4 +124,24 @@ ...@@ -120,4 +124,24 @@
font-weight: 400; font-weight: 400;
line-height: 40rpx; line-height: 40rpx;
color: #837048; 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({ ...@@ -177,6 +177,9 @@ Page({
}).then((response) => { }).then((response) => {
App.ui.hideToast() App.ui.hideToast()
wx.setStorageSync('tempBackInfo', 'winEnter') wx.setStorageSync('tempBackInfo', 'winEnter')
let funcClubEnterId = wx.getStorageSync('clubEnterId')
funcClubEnterId.push(this.data.clubInfo.id)
wx.setStorageSync('clubEnterId', funcClubEnterId)
wx.navigateBack() wx.navigateBack()
}).catch((response) => { }).catch((response) => {
App.ui.showToast({ App.ui.showToast({
......
...@@ -57,6 +57,7 @@ ...@@ -57,6 +57,7 @@
} }
.form-item-input { .form-item-input {
width: 670rpx;
height: 80rpx; height: 80rpx;
margin: 16rpx 0 8rpx 0; margin: 16rpx 0 8rpx 0;
padding: 0 24rpx; padding: 0 24rpx;
...@@ -76,3 +77,22 @@ ...@@ -76,3 +77,22 @@
line-height: 32rpx; line-height: 32rpx;
color: #D92B3A; 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({ ...@@ -65,7 +65,7 @@ Page({
for (let i = 0, l = funcData.length; i < l; i++) { for (let i = 0, l = funcData.length; i < l; i++) {
let funcItem = { let funcItem = {
'text': funcData[i].name, 'text': funcData[i].name,
'value': Number(funcData[i].tagId) 'value': funcData[i].tagId
} }
funcList.push(funcItem) funcList.push(funcItem)
} }
...@@ -100,8 +100,6 @@ Page({ ...@@ -100,8 +100,6 @@ Page({
for (let i = 0, l = funcData.length; i < l; i++) { for (let i = 0, l = funcData.length; i < l; i++) {
funcList.push(funcData[i].clubId) funcList.push(funcData[i].clubId)
} }
console.log(funcList)
wx.setStorageSync('clubEnterId', funcList) wx.setStorageSync('clubEnterId', funcList)
}).catch((response) => {}) }).catch((response) => {})
}, },
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<block wx:for="{{clubList}}" wx:for-item="item" wx:for-index="index" wx:key="index"> <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-item row" data-item="{{item}}" bindtap="onClubDetail">
<view class="club-logo"> <view class="club-logo">
<image src="{{item.cover}}"></image> <image src="{{item.logo}}"></image>
</view> </view>
<view class="club-info column"> <view class="club-info column">
<view class="club-info-name row ac"> <view class="club-info-name row ac">
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<text class="owner-mark" wx:if="{{clubInfo.isOwner}}">业主专享</text> <text class="owner-mark" wx:if="{{clubInfo.isOwner}}">业主专享</text>
<view class="club-info-member row cc ac" bindtap="onMemberList"> <view class="club-info-member row cc ac" bindtap="onMemberList">
<text>{{clubInfo.member + ' 成员'}}</text> <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> </view>
</view> </view>
...@@ -53,7 +53,7 @@ ...@@ -53,7 +53,7 @@
<text class="tag-blue" wx:if="{{tagNames}}">{{item.tagNames}}</text> <text class="tag-blue" wx:if="{{tagNames}}">{{item.tagNames}}</text>
</view> </view>
<view class="card-item-info-time row ac"> <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> <text>{{item.date}}</text>
</view> </view>
<view class="card-item-other row cb ac"> <view class="card-item-other row cb ac">
......
...@@ -182,6 +182,7 @@ ...@@ -182,6 +182,7 @@
/* 俱乐部详情 */ /* 俱乐部详情 */
.club-detail { .club-detail {
width: 750rpx;
margin-top: 80rpx; margin-top: 80rpx;
} }
......
...@@ -113,6 +113,45 @@ Page({ ...@@ -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 () { onPowerInfoClose: function () {
this.setData({ this.setData({
winPowerInfo: false winPowerInfo: false
......
<m-toast></m-toast>
<m-nav titleText="俱乐部信息"></m-nav> <m-nav titleText="俱乐部信息"></m-nav>
<view class="container"> <view class="container">
...@@ -45,7 +46,7 @@ ...@@ -45,7 +46,7 @@
<view class="member-admin row cc ac" hidden="{{!winAdminInfo}}"> <view class="member-admin row cc ac" hidden="{{!winAdminInfo}}">
<view class="member_admin_info col cc ac"> <view class="member_admin_info col cc ac">
<text>管理员微信</text> <text>管理员微信</text>
<image src="{{adminInfo.wx}}"></image> <image src="{{adminInfo.wx}}" bindlongpress="onSaveAdminWx"></image>
<text>【长按保存二维码】</text> <text>【长按保存二维码】</text>
<button class="row cc ac" bindtap="onAdminInfoClose">我知道了</button> <button class="row cc ac" bindtap="onAdminInfoClose">我知道了</button>
</view> </view>
......
...@@ -80,13 +80,13 @@ ...@@ -80,13 +80,13 @@
} }
.member_admin_info > image { .member_admin_info > image {
width: 148rpx; width: 296rpx;
height: 148rpx; height: 296rpx;
margin-top: 48rpx; margin-top: 48rpx;
background: #999999; background: #999999;
} }
.member_admin_info > text:nth-child(2) { .member_admin_info > text:nth-child(3) {
height: 46rpx; height: 46rpx;
font-size: 26rpx; font-size: 26rpx;
font-weight: 400; font-weight: 400;
......
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</view> </view>
<view class="row cb ac"> <view class="row cb ac">
<text class="sign-in-content">消费积分 业主特权</text> <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>
</view> </view>
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
</swiper-item> </swiper-item>
</block> </block>
</swiper> </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>
</view> </view>
......
...@@ -52,9 +52,10 @@ Page({ ...@@ -52,9 +52,10 @@ Page({
* @param * @param
* @returns * @returns
*/ */
onDetail: function (funcEvent) { onRecordDetail: function (funcEvent) {
let funcItem = funcEvent.currentTarget.dataset.item let funcItem = funcEvent.currentTarget.dataset.item
console.log(funcItem) console.log(funcItem)
wx.navigateTo({ url: '/pages/mall/exchange-state/exchange-state?id=' + funcItem.id })
}, },
/** /**
......
...@@ -6,44 +6,44 @@ ...@@ -6,44 +6,44 @@
<view class="record_list"> <view class="record_list">
<block wx:for="{{recordList}}" wx:for-index="index" wx:for-item="item" wx:key="index"> <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"> <view class="row cb ac">
<text class="font_main_26 color_tip">{{'订单编号:'}}</text> <text class="font_normal_26 color_secondary">{{'订单编号:'}}</text>
<text class="font_main_26 color_warning">待发货</text> <text class="font_normal_26 color_warning">待发货</text>
</view> </view>
<view class="record_item_info row ac"> <view class="record_item_info row ac">
<view class="record_item_info_cover"> <view class="record_item_info_cover">
<image src="{{item.cover}}"></image> <image src="{{item.cover}}"></image>
</view> </view>
<view class="record_item_info_name row ac"> <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>
<view class="record_item_info_price column ce ae"> <view class="record_item_info_price column ce ae">
<text class="font_strong_30 color_main">{{item.priceTotal + ' 积分'}}</text> <text class="font_bold_30 color_regular">{{item.priceTotal + ' 积分'}}</text>
<text class="font_main_26 color_tip">x1</text> <text class="font_normal_26 color_secondary">x1</text>
</view> </view>
</view> </view>
<view class="record_item_operation row ce ac"> <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> </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"> <view class="row cb ac">
<text class="font_main_26 color_tip">{{'订单编号:'}}</text> <text class="font_normal_26 color_secondary">{{'订单编号:'}}</text>
<text class="font_main_26 color_warning">待收货</text> <text class="font_normal_26 color_warning">待收货</text>
</view> </view>
<view class="record_item_info row ac"> <view class="record_item_info row ac">
<view class="record_item_info_cover"> <view class="record_item_info_cover">
<image src="{{item.cover}}"></image> <image src="{{item.cover}}"></image>
</view> </view>
<view class="record_item_info_name row ac"> <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>
<view class="record_item_info_price column ce ae"> <view class="record_item_info_price column ce ae">
<text class="font_strong_30 color_main">{{item.priceTotal + ' 积分'}}</text> <text class="font_bold_30 color_regular">{{item.priceTotal + ' 积分'}}</text>
<text class="font_main_26 color_tip">x1</text> <text class="font_normal_26 color_secondary">x1</text>
</view> </view>
</view> </view>
<view class="record_item_operation row ce ac"> <view class="record_item_operation row ce ac">
...@@ -52,21 +52,21 @@ ...@@ -52,21 +52,21 @@
</view> </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"> <view class="row cb ac">
<text class="font_main_26 color_tip">{{'下单时间:'}}</text> <text class="font_normal_26 color_secondary">{{'下单时间:'}}</text>
<text class="font_main_26 color_tip">已完成</text> <text class="font_normal_26 color_secondary">已完成</text>
</view> </view>
<view class="record_item_info row ac"> <view class="record_item_info row ac">
<view class="record_item_info_cover"> <view class="record_item_info_cover">
<image src="{{item.cover}}"></image> <image src="{{item.cover}}"></image>
</view> </view>
<view class="record_item_info_name row ac"> <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>
<view class="record_item_info_price column ce ae"> <view class="record_item_info_price column ce ae">
<text class="font_strong_30 color_main">{{item.priceTotal + ' 积分'}}</text> <text class="font_bold_30 color_regular">{{item.priceTotal + ' 积分'}}</text>
<text class="font_main_26 color_tip">x1</text> <text class="font_normal_26 color_secondary">x1</text>
</view> </view>
</view> </view>
<view class="record_item_operation row ce ac"> <view class="record_item_operation row ce ac">
......
// pages/mall/exchange-state/exchange-state.js let App = getApp()
Page({ Page({
/**
* 页面的初始数据
*/
data: { data: {
state: 0,
stateCss: '',
stateTitle: '',
couponInfo: {
'shopName': '',
'shopTime': '',
'userName': '',
'userPhone': '',
},
goodsInfo: [],
addressInfo: {},
otherInfo: {
'timeExpire': '',
'timeCreate': '',
'timeShipment': '',
'number': '',
},
isExpress: false,
winCouponCode: false,
}, },
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) { onLoad: function (options) {
console.log('onLoad')
}, this.setData({
exchangeInfo: { 'id': options.id }
/** })
* 生命周期函数--监听页面初次渲染完成 this.queryExchangeDetail()
*/
onReady: function () {
}, },
/**
* 生命周期函数--监听页面显示
*/
onShow: function () { onShow: function () {
}, },
/** queryExchangeDetail: function () {
* 生命周期函数--监听页面隐藏 App.ui.showToast({
*/ iconType: 'loading',
onHide: function () { 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) => {
})
}, },
/** onCouponCodeClose: function () {
* 生命周期函数--监听页面卸载 this.setData({
*/ winCouponCode: false
onUnload: function () { })
}, },
/** // 导航栏返回事件。
* 页面相关事件处理函数--监听用户下拉动作 onNavBack: function () {
*/ let funcTempOptions = wx.getStorageSync('tempOptions')
onPullDownRefresh: function () { 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--> <m-toast></m-toast>
<text>pages/mall/exchange-state/exchange-state.wxml</text> <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 */ .container {
\ No newline at end of file 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({ ...@@ -9,7 +9,7 @@ Page({
}, },
data: { data: {
isExpress: true, isExpress: true,
exchangeQuantity: 2, exchangeQuantity: 1,
errorQuantity: '', errorQuantity: '',
shopInfo: {}, // 取货门店 shopInfo: {}, // 取货门店
goodsInfo: {}, // 兑换商品 goodsInfo: {}, // 兑换商品
......
...@@ -16,6 +16,7 @@ Page({ ...@@ -16,6 +16,7 @@ Page({
}, },
onExchangeState: function () { 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({ ...@@ -210,6 +210,16 @@ Page({
}, },
/** /**
* 积分明细
* @function
* @param {object} - funcEvent
* @returns
*/
onIntegralDetail: function () {
wx.navigateTo({ url: '/pages/mine/accumulate/accumulate' })
},
/**
* 商品详情 * 商品详情
* @function * @function
* @param {object} - funcEvent * @param {object} - funcEvent
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<image class="icon_48" src="{{imageBase + 'icon/exchange-3.png'}}"></image> <image class="icon_48" src="{{imageBase + 'icon/exchange-3.png'}}"></image>
<text>兑换记录</text> <text>兑换记录</text>
</view> </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> <image class="icon_48" src="{{imageBase + 'icon/list-3.png'}}"></image>
<text>积分明细</text> <text>积分明细</text>
</view> </view>
......
...@@ -22,19 +22,16 @@ Page({ ...@@ -22,19 +22,16 @@ Page({
type: '', // "" 全部 0 获取 1消费(0 发放 1 兑换) type: '', // "" 全部 0 获取 1消费(0 发放 1 兑换)
accumulateList: [], accumulateList: [],
selectedList: [], selectedList: [],
integral: '0', integral: 0,
type: '', type: '',
accumulateListHeight: 0, accumulateListHeight: 0,
}, },
onLoad: function(options) { onLoad: function(options) {
let integral = options.integral
this.setData({
integral: integral
})
this.setAccumulateListHeight() this.setAccumulateListHeight()
this.getAccumulate() this.getAccumulate()
this.queryIntegral()
}, },
setAccumulateListHeight: function () { setAccumulateListHeight: function () {
...@@ -46,6 +43,23 @@ Page({ ...@@ -46,6 +43,23 @@ Page({
console.log(funcAccumulateListHeight) 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() { getAccumulate: function() {
wx.showLoading({ wx.showLoading({
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<picker class="address_item_picker" mode="region" bindchange="onRegionChange" value="{{region}}"> <picker class="address_item_picker" mode="region" bindchange="onRegionChange" value="{{region}}">
<view class="row ac cb"> <view class="row ac cb">
<view>{{region[0]}}{{region[1]}}{{region[2]}}</view> <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> </view>
</picker> </picker>
</view> </view>
......
...@@ -21,7 +21,6 @@ Page({ ...@@ -21,7 +21,6 @@ Page({
'userType': 0, 'userType': 0,
'remarks': '', 'remarks': '',
'phone': '', 'phone': '',
'wx': '',
}, },
winMember: false, winMember: false,
...@@ -64,7 +63,6 @@ Page({ ...@@ -64,7 +63,6 @@ Page({
'userType': Number(funcData[i].userType), // 用户身份 'userType': Number(funcData[i].userType), // 用户身份
'remarks': funcData[i].remarks, 'remarks': funcData[i].remarks,
'phone': funcData[i].mobile, 'phone': funcData[i].mobile,
'wx': funcData[i].wxAccount,
} }
funcList.push(funcItem) funcList.push(funcItem)
} }
...@@ -252,7 +250,6 @@ Page({ ...@@ -252,7 +250,6 @@ Page({
'date': funcData.joinDate, // 加入日期 'date': funcData.joinDate, // 加入日期
'refuse': funcData.auditRemarks, // 拒绝原因 'refuse': funcData.auditRemarks, // 拒绝原因
'auditor': funcData.auditor ? funcData.auditor : '后台审核', 'auditor': funcData.auditor ? funcData.auditor : '后台审核',
'wx': funcData.wxAccount, // 微信二维码图
}, },
winMember: true winMember: true
}) })
......
...@@ -25,10 +25,6 @@ ...@@ -25,10 +25,6 @@
<text class="text_overflow_point">{{item.nickname}}</text> <text class="text_overflow_point">{{item.nickname}}</text>
</view> </view>
<view class="row ac"> <view class="row ac">
<text>微信号</text>
<text class="text_overflow_point">{{item.wx}}</text>
</view>
<view class="row ac">
<text>备注</text> <text>备注</text>
<text class="text_overflow_point">{{item.remarks}}</text> <text class="text_overflow_point">{{item.remarks}}</text>
</view> </view>
...@@ -86,10 +82,6 @@ ...@@ -86,10 +82,6 @@
<text class="text_overflow_point">{{memberInfo.nickname}}</text> <text class="text_overflow_point">{{memberInfo.nickname}}</text>
</view> </view>
<view class="row"> <view class="row">
<text>微信号</text>
<text class="text_overflow_point">{{memberInfo.wx}}</text>
</view>
<view class="row">
<text>备注</text> <text>备注</text>
<text class="text_overflow_point">{{memberInfo.remarks}}</text> <text class="text_overflow_point">{{memberInfo.remarks}}</text>
</view> </view>
......
...@@ -43,6 +43,7 @@ Page({ ...@@ -43,6 +43,7 @@ Page({
'memberId': funcData[i].memberId, 'memberId': funcData[i].memberId,
'state': Number(funcData[i].state), 'state': Number(funcData[i].state),
'date': funcData[i].date, 'date': funcData[i].date,
'adminWx': funcData[i].creatorImg,
'isOwner': Number(funcData[i].owner) === 0 ? false : true 'isOwner': Number(funcData[i].owner) === 0 ? false : true
} }
funcList.push(funcItem) funcList.push(funcItem)
...@@ -248,24 +249,53 @@ Page({ ...@@ -248,24 +249,53 @@ Page({
*/ */
onAdminInfo: function (funcEvent) { onAdminInfo: function (funcEvent) {
let funcItem = funcEvent.currentTarget.dataset.item let funcItem = funcEvent.currentTarget.dataset.item
App.request({ console.log(funcItem)
url: 'v3/club/getClubAdmin',
params: {
'clubId': funcItem.id,
}
}).then((response) => {
}).catch((response) => {})
this.setData({ this.setData({
adminInfo: { adminInfo: {
wx: funcItem.wx wx: funcItem.adminWx
}, },
winAdminInfo: true 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 () { onAdminInfoClose: function () {
this.setData({ this.setData({
winAdminInfo: false winAdminInfo: false
......
...@@ -99,7 +99,7 @@ ...@@ -99,7 +99,7 @@
<view class="member-admin row cc ac" hidden="{{!winAdminInfo}}"> <view class="member-admin row cc ac" hidden="{{!winAdminInfo}}">
<view class="member_admin_info col cc ac"> <view class="member_admin_info col cc ac">
<text>管理员微信</text> <text>管理员微信</text>
<image src="{{adminInfo.wx}}"></image> <image src="{{adminInfo.wx}}" bindlongpress="onSaveAdminWx"></image>
<text>【长按保存二维码】</text> <text>【长按保存二维码】</text>
<button class="row cc ac" bindtap="onAdminInfoClose">我知道了</button> <button class="row cc ac" bindtap="onAdminInfoClose">我知道了</button>
</view> </view>
......
...@@ -496,9 +496,6 @@ Page({ ...@@ -496,9 +496,6 @@ Page({
* @returns * @returns
*/ */
onIntegralDetail: function () { onIntegralDetail: function () {
// wx.navigateTo({
// url: '/pages/mine/accumulate/accumulate?integral=' + integral,
// })
wx.navigateTo({ url: '/pages/mall/home/home' }) wx.navigateTo({ url: '/pages/mall/home/home' })
}, },
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
</view> </view>
<view class="info-integral-title row ce ac"> <view class="info-integral-title row ce ac">
<text>我的积分</text> <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> </view>
</view> </view>
...@@ -82,7 +82,7 @@ ...@@ -82,7 +82,7 @@
</view> </view>
<view class="info-integral-title row ce ac"> <view class="info-integral-title row ce ac">
<text class="info-owner">我的积分</text> <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> </view>
</view> </view>
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
<text>券码核销</text> <text>券码核销</text>
<text>{{'所属门店:' + authInfo.officeName}}</text> <text>{{'所属门店:' + authInfo.officeName}}</text>
</view> </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> </view>
<!-- 我的订单 --> <!-- 我的订单 -->
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
<view class="card-title row cb ac"> <view class="card-title row cb ac">
<text>我的订单</text> <text>我的订单</text>
<text bindtap="onOrderList">查看全部</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> </view>
<!-- 分类 tab --> <!-- 分类 tab -->
...@@ -198,7 +198,7 @@ ...@@ -198,7 +198,7 @@
<!-- 展开更多 --> <!-- 展开更多 -->
<view class="order-more row cc ac" wx:if="{{orderList.length > 1}}" bindtap="onMoreOrder"> <view class="order-more row cc ac" wx:if="{{orderList.length > 1}}" bindtap="onMoreOrder">
<text>{{isMoreOrder ? '收起' : '展开更多'}}</text> <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>
</view> </view>
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
<view class="card-title row cb ac"> <view class="card-title row cb ac">
<text>我的预约</text> <text>我的预约</text>
<text data-type="0" bindtap="onAppointmentList">查看全部</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> </view>
<!-- 分类 tab --> <!-- 分类 tab -->
...@@ -261,7 +261,7 @@ ...@@ -261,7 +261,7 @@
<!-- 展开更多 --> <!-- 展开更多 -->
<view class="order-more row cc ac" wx:if="{{appointmentList.length > 1}}" bindtap="onMoreAppointment"> <view class="order-more row cc ac" wx:if="{{appointmentList.length > 1}}" bindtap="onMoreAppointment">
<text>{{isMoreAppointment ? '收起' : '展开更多'}}</text> <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>
</view> </view>
......
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
</view> </view>
<view class="info_item row cb ac" bindtap="onAddressList"> <view class="info_item row cb ac" bindtap="onAddressList">
<text>收货地址</text> <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> </view>
</view> </view>
......
...@@ -316,7 +316,6 @@ ...@@ -316,7 +316,6 @@
} }
/* 券码 */ /* 券码 */
.code-mask { .code-mask {
position: fixed; position: fixed;
top: 0; top: 0;
......
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
<block wx:for="{{clubList}}" wx:for-index="index" wx:for-item="item" wx:key="index"> <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 row cc" data-item="{{item}}" bindtap="onClubDetail">
<view class="club-item-info column ac"> <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-name">{{item.name}}</text>
<text class="club-item-info-owner owner-mark" wx:if="{{item.isOwner}}">业主专享</text> <text class="club-item-info-owner owner-mark" wx:if="{{item.isOwner}}">业主专享</text>
</view> </view>
......
...@@ -67,4 +67,14 @@ for (let i = 0, l = funcData.length; i < l; i++) { ...@@ -67,4 +67,14 @@ for (let i = 0, l = funcData.length; i < l; i++) {
funcList.push(funcItem) funcList.push(funcItem)
} }
// 界面循环 <block wx:for="{{lineStyle}}" wx:for-index="index" wx:for-item="item" wx:key="index"> // 界面循环 <block wx:for="{{lineStyle}}" wx:for-index="index" wx:for-item="item" wx:key="index">
\ No newline at end of file
// 常用变量命名
// 物件类型,商品,券码等等
let funcItem = {
'id': '', // 唯一标识
'number': '', // 编号
'name': '', // 名称
'type': '', // 类型
'quantity': '', // 数量
}
\ No newline at end of file
...@@ -35,21 +35,15 @@ ...@@ -35,21 +35,15 @@
justify-content: space-around; justify-content: space-around;
} }
.align-s { .align-s { align-items: flex-start; }
align-items: flex-start;
}
.align-c { .align-c {
align-items: center; align-items: center;
} }
.align-e { .align-e { align-items: flex-end; }
align-items: flex-end;
}
.grow { .grow { flex-grow: 1; }
flex-grow: 1;
}
.background-image { .background-image {
z-index: -1; z-index: -1;
...@@ -58,8 +52,4 @@ ...@@ -58,8 +52,4 @@
left: 0; left: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
}
.tt {
border: 1px red solid;
} }
\ No newline at end of file
/* 主题颜色 */
.color_primary { color: #5DB5DD; }
/* 常规颜色 */ /* 常规颜色 */
.color_main { .color_regular { color: #15191F; }
color: #15191F;
}
/* 提示颜色 */ /* 提示颜色 */
.color_tip { .color_secondary { color: #959DA9; }
color: #959DA9;
}
/* 警告颜色 */ /* 警告颜色 */
.color_warning { .color_warning { color: #E66060; }
color: #E66060;
} /* 提示颜色 */
.color_tip { color: #837048; }
/* 取消颜色 */ /* 取消颜色 */
.color_cancel { .color_cancel { color: #656E7B; }
color: #656E7B;
}
/* 确定颜色 */ /* 确定颜色 */
.color_submit { .color_submit { color: #FFFFFF; }
color: #FFFFFF;
} /* 可用颜色 */
.color_able { color: #86C5E1;}
.font_main_26 { .bgcolor_able { background-color: #86C5E1; }
font-size: 26rpx;
font-weight: 500; /* 禁用颜色 */
line-height: 36rpx; .color_disable { color: #86C5E1 }
} .bgcolor_disable { background-color: #86C5E1; }
.font_main_30 { /* 常规 */
font-size: 30rpx; .font_normal_22 { font-size: 22rpx; font-weight: 400; line-height: 32rpx; }
font-weight: 500; .font_normal_26 { font-size: 26rpx; font-weight: 400; line-height: 36rpx; }
line-height: 40rpx; .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_strong_26 { .font_normal_54 { font-size: 54rpx; font-weight: 400; line-height: 76rpx; }
font-size: 26rpx;
font-weight: 800; /* 粗体 */
line-height: 36rpx; .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_strong_30 { .font_bold_34 { font-size: 34rpx; font-weight: 700; line-height: 40rpx; }
font-size: 30rpx; .font_bold_38 { font-size: 38rpx; font-weight: 700; line-height: 52rpx; }
font-weight: 800; .font_bold_42 { font-size: 42rpx; font-weight: 700; line-height: 58rpx; }
line-height: 40rpx; .font_bold_54 { font-size: 54rpx; font-weight: 700; line-height: 76rpx; }
}
\ No newline at end of file /* 更粗 */
.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