分享朋友圈调整

This commit is contained in:
唐明明
2023-09-14 09:25:37 +08:00
parent 510cbeb181
commit 0dcf23bfde
43 changed files with 458 additions and 219 deletions

View File

@@ -32,9 +32,17 @@ const resetPassword = data => req({
data data
}) })
/**
* 隐私协议
*/
const richText = id => req({
url: "cms/pages/" + id
})
export default ({ export default ({
Login, Login,
register, register,
getSms, getSms,
resetPassword resetPassword,
richText
}) })

View File

@@ -14,11 +14,16 @@ const updIdcard = (path, data) => upload({
}) })
// 提交身份信息 // 提交身份信息
const ocr = data => req({ const ocr = data => {
url : "user/certification",
data, console.log(data)
method : "POST"
}) return req({
url : "user/certification",
data,
method : "POST"
})
}
// 获取认证信息 // 获取认证信息
const getInfo = () => req({ const getInfo = () => req({

View File

@@ -6,13 +6,10 @@
import { errInfo } from './err' import { errInfo } from './err'
import { updToken } from './updateToken' import { updToken } from './updateToken'
// 请求方式配置 // 正式地址
// //正式地址 const api = "https://api.xuanhuojk.com/api/"
// https://api.xhtest.douhuofalv.com/api/ //测试地址 // 测试地址
// wx989712ad2d06a40b 测试appid 三猿 // const api = "https://api.xhtest.douhuofalv.com/api/"
// wx7662853c6f7f46b4 正式appid
// 正式环境
const api = "https://api.xhtest.douhuofalv.com/api/" // 测试环境
const header = { const header = {
"Accept" : "application/json" "Accept" : "application/json"
} }

View File

@@ -37,7 +37,8 @@
"pages/refund/aftersale/aftersale", "pages/refund/aftersale/aftersale",
"pages/refund/info/info", "pages/refund/info/info",
"pages/refund/deliver/deliver", "pages/refund/deliver/deliver",
"pages/refund/logs/logs" "pages/refund/logs/logs",
"pages/richText/richText"
], ],
"window": { "window": {
"backgroundTextStyle": "light", "backgroundTextStyle": "light",

View File

@@ -76,22 +76,24 @@ Page({
*/ */
onSubmitIdcard(e){ onSubmitIdcard(e){
wx.showLoading({ wx.showLoading({
title: '提交证件信息...', title: '提交证件信息...'
mask : true // mask : true
}) })
let { address } = e.detail.value let { address } = e.detail.value
wx.$api.idcard.ocr({ wx.$api.idcard.ocr({
front_card: this.data.front.path, front_card : this.data.front != null ? this.data.front.path : '',
back_card : this.data.back.path, back_card : this.data.back != null ? this.data.back.path : '',
address address
}).then(res => { }).then(res => {
let { name, id_card, created_at, verified, need_sign, address } = res.data let { address, name, id_card, created_at, verified, need_sign, is_sign_contract } = res.data
this.setData({ this.setData({
info : { name, id_card, created_at, verified, need_sign, address }, info : { name, id_card, created_at, verified, need_sign, address },
procedure : need_sign ? 2 : 3, procedure : need_sign ? 2 : 3,
isSignContract : data.is_sign_contract, isSignContract : is_sign_contract,
}) })
wx.hideLoading() wx.hideLoading()
}).catch(err => {
console.log(err)
}) })
}, },
/** /**

View File

@@ -44,8 +44,6 @@ Page({
password : value.password, password : value.password,
} }
wx.$api.auth.Login(data).then(res => { wx.$api.auth.Login(data).then(res => {
// 存储邀请码
// let { invite, }
// 存储登录信息 // 存储登录信息
wx.setStorage({ wx.setStorage({
key : 'token', key : 'token',

View File

@@ -8,7 +8,7 @@
<input type="number" placeholder="请输入账号" maxlength="11" name="username" /> <input type="number" placeholder="请输入账号" maxlength="11" name="username" />
</view> </view>
<view class="inputs"> <view class="inputs">
<input type="safe-password" password placeholder="请输入密码" name="password" /> <input password placeholder="请输入密码" name="password" />
</view> </view>
<view class="forget"><navigator hover-class="none" url="/pages/resetPassword/resetPassword">忘记密码?</navigator></view> <view class="forget"><navigator hover-class="none" url="/pages/resetPassword/resetPassword">忘记密码?</navigator></view>
<button class="btn" type="default" form-type="submit">立即登录</button> <button class="btn" type="default" form-type="submit">立即登录</button>
@@ -20,6 +20,6 @@
<checkbox color="#da2b54" checked="{{checked}}" size='10' class="radioGroup" /> <checkbox color="#da2b54" checked="{{checked}}" size='10' class="radioGroup" />
</checkbox-group> </checkbox-group>
<view class="agreement-text"> <view class="agreement-text">
我已阅读并同意<navigator hover-class="none" url="./agreement/index?type=secret">《隐私协议》</navigator>和<navigator hover-class="none" url="./agreement/index?type=protocol">《服务协议》</navigator> 我已阅读并同意<navigator hover-class="none" url="/pages/richText/richText?id=4">《隐私协议》</navigator>和<navigator hover-class="none" url="/pages/richText/richText?id=3">《服务协议》</navigator>
</view> </view>
</view> </view>

View File

@@ -9,16 +9,20 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
disabled : true,//按钮 disabled : true, //按钮
skuId : '', skuId : '',
goodsQty : '', // 产品数量 goodsQty : '', // 产品数量
address : '', // 地址 address : '', // 地址
addressId : '', // 地址id goodskData : '', // 数据
goodskData : '', // 数据 amount : '', // 商品总金额
amount : '', // 商品总金额 total : '', // 支付金额
total : '', // 支付金额 freight : '', // 运费
freight : '', // 运费 weight : '', // 重量
weight : '', // 重量 distribution : [
{ type: 0, title: "快递" },
{ type: 1, title: "自提" },
],
distributionIndex: 0
}, },
/** /**
@@ -32,30 +36,43 @@ Page({
// 获取商品下单信息 // 获取商品下单信息
this.placeInfo(options.skuId, options.qty); this.placeInfo(options.skuId, options.qty);
}, },
/** /**
* 生命周期函数--监听页面显示 * 配送方式选择
*/ */
onShow() {}, distributionChange(e){
if(e.detail.value === this.data.distributionIndex) return
this.setData({
distributionIndex: e.detail.value
})
this.placeInfo(this.data.skuId, this.data.goodsQty);
},
/** /**
* 商品下单信息 * 商品下单信息
*/ */
placeInfo(skuid, qty) { placeInfo(skuid, qty, type) {
wx.showLoading({
title: '加载中...',
mask : true
})
wx.$api.mall.place({ wx.$api.mall.place({
goods_sku_id:skuid, goods_sku_id : skuid,
qty: qty, qty : qty,
address_id: this.data.addressId address_id : this.data.address.address_id || '',
delivery_type: this.data.distributionIndex
}).then(res => { }).then(res => {
if(type != 'chooseAdd'){
this.setData({
address: res.data.address,
})
}
this.setData({ this.setData({
address : res.data.address,
addressId : res.data.address.address_id,
goodskData: res.data.detail, goodskData: res.data.detail,
amount : res.data.amount, amount : res.data.amount,
total : res.data.total, total : res.data.total,
freight : res.data.freight, freight : res.data.freight,
weight : res.data.weight weight : res.data.weight
}) })
wx.hideLoading()
}).catch(err =>{}) }).catch(err =>{})
}, },
@@ -70,16 +87,13 @@ Page({
wx.$api.mall.placeTrue({ wx.$api.mall.placeTrue({
goods_sku_id : this.data.skuId, goods_sku_id : this.data.skuId,
qty : this.data.goodsQty, qty : this.data.goodsQty,
address_id : this.data.addressId address_id : this.data.address.address_id,
delivery_type : this.data.distributionIndex
}).then(res => { }).then(res => {
console.log(res)
wx.redirectTo({ wx.redirectTo({
url: '/pages/pay/index?params=' + encodeURIComponent(JSON.stringify(res.data)) url: '/pages/pay/index?params=' + encodeURIComponent(JSON.stringify(res.data))
}) })
}).catch(() =>{}).finally(() => {
wx.hideLoading() wx.hideLoading()
}) }).catch(() =>{}).finally(() => {})
}, },
}) })

View File

@@ -1,6 +1,6 @@
<!-- 地址 --> <!-- 地址 -->
<view class="address"> <view class="address" wx:if="{{distributionIndex == 0}}">
<navigator hover-class="none" url="/pages/site/index?type=goodsAddress" class="address-cont" wx:if="{{address}}"> <navigator hover-class="none" url="/pages/site/index?type=goodsAddress&skuid={{skuId}}&qty={{goodsQty}}" class="address-cont" wx:if="{{address}}">
<view class="address-top"> <view class="address-top">
<view class="address-area"> <view class="address-area">
<image class="address-icon" src="/static/icons/address.png" mode="widthFix"></image>{{address.province.name}}{{address.city.name}} <image class="address-icon" src="/static/icons/address.png" mode="widthFix"></image>{{address.province.name}}{{address.city.name}}
@@ -13,7 +13,7 @@
<image class="address-arrow" src="/static/icons/orderArrow.png"></image> <image class="address-arrow" src="/static/icons/orderArrow.png"></image>
</navigator> </navigator>
<view class="address-add" wx:else> <view class="address-add" wx:else>
<navigator hover-class="none" url="/pages/site/index?type=goodsAddress" class="address-go">新增收货地址 +</navigator> <navigator hover-class="none" url="/pages/site/index?type=goodsAddress&skuid={{skuId}}&qty={{goodsQty}}" class="address-go">新增收货地址 +</navigator>
</view> </view>
<image class="address-img" src="/static/imgs/address.png" mode="widthFix"></image> <image class="address-img" src="/static/imgs/address.png" mode="widthFix"></image>
</view> </view>
@@ -34,9 +34,19 @@
</block> </block>
</view> </view>
<!-- 规格 --> <!-- 配送方式 -->
<view class="label"> <view class="label">
<view class="label-item"> <view class="label-item">
<view class="label-name">配送方式</view>
<picker range="{{distribution}}" range-key="title" class="label-picker" value="{{distributionIndex}}" bindchange="distributionChange">
<view class="label-picker-val">{{distribution[distributionIndex].title}}<image class="label-picker-icon" src="/static/icons/arrow_more.png"></image></view>
</picker>
</view>
</view>
<!-- 规格 -->
<view class="label">
<view class="label-item" wx:if="{{distributionIndex == 0}}">
<view class="label-name">快递</view> <view class="label-name">快递</view>
<view class="label-text">{{freight == 0 ? '免邮' : freight + '元'}}</view> <view class="label-text">{{freight == 0 ? '免邮' : freight + '元'}}</view>
</view> </view>

View File

@@ -10,6 +10,7 @@ page {
border-radius: 15rpx; border-radius: 15rpx;
overflow: hidden; overflow: hidden;
position: relative; position: relative;
margin-bottom: 30rpx;
} }
.address-arrow { .address-arrow {
@@ -77,7 +78,7 @@ page {
.list-goods { .list-goods {
background-color: #FFFFFF; background-color: #FFFFFF;
margin: 30rpx 0; margin: 0 0 30rpx 0;
display: flex; display: flex;
padding: 30rpx; padding: 30rpx;
border-radius: 15rpx; border-radius: 15rpx;
@@ -124,6 +125,7 @@ page {
border-radius: 15rpx; border-radius: 15rpx;
overflow: hidden; overflow: hidden;
box-sizing: border-box; box-sizing: border-box;
margin-bottom: 30rpx;
} }
.label-item { .label-item {
@@ -149,6 +151,10 @@ page {
flex: 1; flex: 1;
} }
.label-picker{ width: 70%; }
.label-picker-val{ text-align: right; display: flex; align-items: center; justify-content: flex-end;}
.label-picker-icon{ width: 24rpx; height: 24rpx; margin-left: 10rpx; }
/*checkbox选中后样式 */ /*checkbox选中后样式 */
.label-text-checkbox { .label-text-checkbox {

View File

@@ -32,8 +32,8 @@ Page({
onLoad(options) { onLoad(options) {
this.setData({ this.setData({
goodsId: options.id, goodsId: options.id,
invite : options.invite || ''
}) })
getApp().globalData.invite = options.invite || ''
}, },
/** /**
@@ -44,27 +44,95 @@ Page({
this.goodsInfo(); this.goodsInfo();
}, },
/**
* 输入产品数量
*/
goodsNumberInput(e){
let inventory = this.data.selectSkusValues.stock
if(inventory < e.detail.value ){
wx.showToast({
title: '超出库存数量',
icon : 'none',
})
this.setData({
qtyNumber: Math.min(inventory, e.detail.value)
})
return
}
this.setData({
qtyNumber: e.detail.value
})
},
/**
* 离开产品数量
*/
goodsNumberBlur(e){
let { value } = e.detail
if(value == '' || value <= 0){
this.setData({
qtyNumber: 1
})
}
},
/** /**
* 商品详情 * 商品详情
*/ */
goodsInfo() { goodsInfo() {
// 因分享朋友圈启动时未挂载全局接口方法,故这里只能使用微信原生方法
wx.showLoading({ wx.showLoading({
title: '加载中...', title: '加载中...',
mask : true mask : true
}) })
wx.$api.mall.goodsSee(this.data.goodsId).then(res => { wx.request({
this.setData({ url : 'https://api.xhtest.douhuofalv.com/api/mall/goods/' + this.data.goodsId,
goodsData : res.data, header : {
mallContent : res.data.content.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;"'), "Accept" : "application/json",
skus : res.data.skus, "channel" : "client",
skuid : res.data.skus[0].sku_id, "Authorization" : wx.getStorageSync("token") || ""
selectSkusValues: res.data.skus[0], },
specselect : res.data.skus[0].unit.split('|'), success: res => {
invite : res.data.invite wx.hideLoading()
}) let { statusCode, data } = res
}).catch(err =>{}).finally(() => { if(statusCode == 200){
wx.hideLoading() let dataOBJ = data.data
this.setData({
goodsData : dataOBJ,
mallContent : dataOBJ.content.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;"'),
skus : dataOBJ.skus,
skuid : dataOBJ.skus[0].sku_id,
selectSkusValues: dataOBJ.skus[0],
specselect : dataOBJ.skus[0].unit.split('|'),
invite : dataOBJ.invite
})
return
}
wx.showToast({
title: data.message,
icon : 'none'
})
},
fail: err => {
wx.showToast({
title: err.errMsg,
icon : 'none'
})
}
}) })
// wx.$api.mall.goodsSee(this.data.goodsId).then(res => {
// this.setData({
// goodsData : res.data,
// mallContent : res.data.content.replace(/\<img/gi, '<img style="max-width:100%;height:auto;display:block;"'),
// skus : res.data.skus,
// skuid : res.data.skus[0].sku_id,
// selectSkusValues: res.data.skus[0],
// specselect : res.data.skus[0].unit.split('|'),
// invite : res.data.invite
// })
// }).catch(err =>{
// console.log(err)
// }).finally(() => {
// wx.hideLoading()
// })
}, },
/** /**
@@ -185,11 +253,11 @@ Page({
} = this.data.selectSkusValues; } = this.data.selectSkusValues;
if (stock > 0) { if (stock > 0) {
this.setData({ this.setData({
skuid: sku_id, skuid : sku_id,
goodsSize: false goodsSize : false
}) })
wx.navigateTo({ wx.navigateTo({
url: '/pages/mall/confirm/confirm?skuId=' + sku_id + '&qty=' + this.data.qtyNumber url: '/pages/mall/confirm/confirm?skuId=' + sku_id + '&qty=' + this.data.qtyNumber || 1
}) })
} else { } else {
uni.showToast({ uni.showToast({
@@ -270,7 +338,7 @@ Page({
onShareTimeline(){ onShareTimeline(){
return{ return{
title : this.data.goodsData.name, title : this.data.goodsData.name,
query : '/pages/mall/details/details?id=' + this.data.goodsId + '&invite=' + this.data.invite, query : 'id=' + this.data.goodsId + '&invite=' + this.data.invite,
imageUrl : this.data.goodsData.cover imageUrl : this.data.goodsData.cover
} }
} }

View File

@@ -79,7 +79,7 @@
<text class="goods-size-title">数量</text> <text class="goods-size-title">数量</text>
<view class="goods-number" wx:if="{{selectSkusValues.stock != 0}}"> <view class="goods-number" wx:if="{{selectSkusValues.stock != 0}}">
<view class="goods-number-btn" bindtap="goodsNumber" data-type="remove">-</view> <view class="goods-number-btn" bindtap="goodsNumber" data-type="remove">-</view>
<input class="goods-number-input" value="{{qtyNumber}}" type="number" bindinput="goodsNumberInput" disabled></input> <input class="goods-number-input" value="{{qtyNumber}}" type="number" bindinput="goodsNumberInput" bindblur="goodsNumberBlur"></input>
<view class="goods-number-btn" bindtap="goodsNumber" data-type="plus">+</view> <view class="goods-number-btn" bindtap="goodsNumber" data-type="plus">+</view>
</view> </view>
<view class="goods-number" wx:else> <view class="goods-number" wx:else>
@@ -93,6 +93,6 @@
<view class="active">抱歉,商品库存不足了 ~</view> <view class="active">抱歉,商品库存不足了 ~</view>
</view> </view>
<view class="goods-size-btn" wx:else> <view class="goods-size-btn" wx:else>
<view bindtap="buyTap">立即购买</view> <button bindtap="buyTap" size="default" disabled="{{selectSkusValues.stock == 0 || qtyNumber == 0}}">立即购买</button>
</view> </view>
</view> </view>

View File

@@ -404,9 +404,11 @@ button[disabled]{
border-right: 2rpx solid #d7d7d7; border-right: 2rpx solid #d7d7d7;
} }
.goods-size-btn view { .goods-size-btn button[size="default"] {
text-align: center; text-align: center;
line-height: 90rpx; line-height: 90rpx;
padding: 0;
border-radius: 0;
font-size: 28rpx; font-size: 28rpx;
background: #da2b54; background: #da2b54;
color: white; color: white;

View File

@@ -38,7 +38,7 @@
<view class="nowrap goodsItem-text">{{item.description}}</view> <view class="nowrap goodsItem-text">{{item.description}}</view>
<view class="goodsItem-tips"> <view class="goodsItem-tips">
<view class="goodsItem-price">¥{{item.original_price}}</view> <view class="goodsItem-price">¥{{item.original_price}}</view>
<view class="goodsItem-sales">月销 {{item.sales}}</view> <view class="goodsItem-sales">浏览 {{item.clicks}}</view>
</view> </view>
</view> </view>
</view> </view>

View File

@@ -25,11 +25,15 @@ Page({
* 生命周期函数--监听页面加载 * 生命周期函数--监听页面加载
*/ */
onLoad(options) { onLoad(options) {
let sceneCode = options.scene || null if(options.invite){
if(sceneCode != null ){ getApp().globalData.invite = options.invite || null
let inviteCode = decodeURIComponent(sceneCode) }else{
let invite = inviteCode.match(new RegExp("(^|&)" + 'invite' + "=([^&]*)(&|$)", "i")); let sceneCode = options.scene || null
getApp().globalData.invite = invite[2] || null if(sceneCode != null ){
let inviteCode = decodeURIComponent(sceneCode)
let invite = inviteCode.match(new RegExp("(^|&)" + 'invite' + "=([^&]*)(&|$)", "i"));
getApp().globalData.invite = invite[2] || null
}
} }
}, },
@@ -170,6 +174,21 @@ Page({
}) })
}, },
/**
* 开通vip
*/
onVip(){
if(wx.getStorageSync("token") != ''){
wx.navigateTo({
url: '/pages/idcard/idcard',
})
return
}
wx.navigateTo({
url: "/pages/login/index"
})
},
/** /**
* 页面相关事件处理函数--监听用户下拉动作 * 页面相关事件处理函数--监听用户下拉动作
*/ */

View File

@@ -45,6 +45,11 @@
<image class="capsule-src" src="/static/imgs/capsule.png" mode="widthFix" bind:tap="onCapsule"></image> <image class="capsule-src" src="/static/imgs/capsule.png" mode="widthFix" bind:tap="onCapsule"></image>
</view> </view>
<!-- 开通vip -->
<view class="capsule" wx:if="{{certification}}">
<image class="capsule-src" src="/static/imgs/vip.png" mode="widthFix" bind:tap="onVip"></image>
</view>
<!-- 推荐 --> <!-- 推荐 -->
<view class="suggest"> <view class="suggest">
<view class="suggestLeft"> <view class="suggestLeft">
@@ -123,7 +128,7 @@
<view class="nowrap goodsItem-text">{{item.description}}</view> <view class="nowrap goodsItem-text">{{item.description}}</view>
<view class="goodsItem-tips"> <view class="goodsItem-tips">
<view class="goodsItem-price">¥{{item.original_price}}</view> <view class="goodsItem-price">¥{{item.original_price}}</view>
<view class="goodsItem-sales">览 {{item.clicks}}</view> <view class="goodsItem-sales">览 {{item.clicks}}</view>
</view> </view>
</view> </view>
</navigator> </navigator>

View File

@@ -10,13 +10,18 @@
</view> </view>
</view> </view>
</view> </view>
<view class="orderData-cont-label"> <view class="orderData-cont-label" wx:if="{{goodsData.delivery_type === 0}}">
<image class="orderData-cont-img" src="/static/icons/siteIcon.png" mode="aspectFill"></image> <image class="orderData-cont-img" src="/static/icons/siteIcon.png" mode="aspectFill"></image>
<view class="orderData-cont-text orderData-cont-site"> <view class="orderData-cont-text orderData-cont-site">
<view class="orderData-cont-name">{{ goodsData.express.name }} <text>{{ goodsData.express.mobile }}</text></view> <view class="orderData-cont-name">{{ goodsData.express.name }} <text>{{ goodsData.express.mobile }}</text></view>
<view class="orderData-cont-copy"> <view class="orderData-cont-copy">{{ goodsData.express.full_address }}</view>
{{ goodsData.express.full_address }} </view>
</view> </view>
<view class="orderData-cont-label" wx:if="{{goodsData.delivery_type === 1}}">
<image class="orderData-cont-img" src="/static/icons/siteIcon.png" mode="aspectFill"></image>
<view class="orderData-cont-text orderData-cont-site">
<view class="orderData-cont-name">提货地址</view>
<view class="orderData-cont-copy">{{ goodsData.pickup.address }}</view>
</view> </view>
</view> </view>
</view> </view>
@@ -40,45 +45,61 @@
</block> </block>
</view> </view>
</view> </view>
<view class="While reserveCont"> <view class="While reserveCont">
<view class="reserveCont-title">订单信息</view> <view class="reserveCont-title">订单信息</view>
<view class="reserve-label"> <view class="reserve-label">
<view class="reserve-name">交易时间</view> <view class="reserve-name">下单人</view>
<view class="reserve-text">{{goodsData.user.name}}</view>
</view>
<view class="reserve-label">
<view class="reserve-name">下单人手机号</view>
<view class="reserve-text">{{goodsData.user.mobile}}</view>
</view>
<view class="reserve-label">
<view class="reserve-name">下单时间</view>
<view class="reserve-text">{{goodsData.created_at}}</view> <view class="reserve-text">{{goodsData.created_at}}</view>
</view> </view>
<view class="reserve-label"> <view class="reserve-label">
<view class="reserve-name">运费</view> <view class="reserve-name">付款时间</view>
<view class="reserve-text">{{goodsData.freight == 0 ? '免邮' : goodsData.freight + '元'}}</view> <view class="reserve-text">{{goodsData.paid_at}}</view>
</view> </view>
<view class="reserve-label"> <view class="reserve-label">
<view class="reserve-name">交易状态</view> <view class="reserve-name">配送运费</view>
<view class="reserve-text reserve-status">{{goodsData.state}}</view> <view class="reserve-text">{{goodsData.freight == 0 ? '免邮' : goodsData.freight}}</view>
</view> </view>
<view class="reserve-label">
<view class="reserve-name">订单金额</view>
<view class="reserve-text">{{goodsData.amount}}</view>
</view>
<view class="reserve-label">
<view class="reserve-name">实付金额</view>
<view class="reserve-text reserve-price">¥{{goodsData.total}}</view>
</view>
<!--
<view class="reserve-label"> <view class="reserve-label">
<view class="reserve-name">实付款</view> <view class="reserve-name">实付款</view>
<view class="reserve-text reserve-price">¥{{goodsData.total}}</view> <view class="reserve-text reserve-price">¥{{goodsData.total}}</view>
</view> </view> -->
</view> </view>
<view class="While reserveCont" wx:if="{{goodsData.express.express_no}}"> <view class="While reserveCont" wx:if="{{goodsData.express.express_no}}">
<view class="reserveCont-title">物流信息</view> <view class="reserveCont-title">物流信息</view>
<view class="reserve-label"> <view class="reserve-label">
<view class="reserve-name">物流名称</view> <view class="reserve-name">快递公司</view>
<view class="reserve-text">{{goodsData.express.express_name}}</view> <view class="reserve-text">{{goodsData.express.express_name || '-'}}</view>
</view> </view>
<view class="reserve-label"> <view class="reserve-label">
<view class="reserve-name">物流单号</view> <view class="reserve-name">快递单号</view>
<view class="reserve-text reserve-text-copy"> <view class="reserve-text reserve-text-copy">
{{goodsData.express.express_no}}<view bindtap="copyExpress" class="reserve-text-tap" data-no="{{goodsData.express.express_no}}">复制</view> {{goodsData.express.express_no || '-'}}<view bindtap="copyExpress" class="reserve-text-tap" data-no="{{goodsData.express.express_no}}">复制</view>
</view> </view>
</view> </view>
<view class="reserve-label"> <!-- <view class="reserve-label">
<view class="reserve-name">查看物流信息</view> <view class="reserve-name">查看物流信息</view>
<view class="reserve-text reserve-text-btn" bindtap="h5url"> <view class="reserve-text reserve-text-btn" bindtap="h5url">
去查看 去查看
</view> </view>
</view> </view> -->
</view> </view>
</view> </view>
<view class="order-data-footer"> <view class="order-data-footer">

View File

@@ -33,12 +33,6 @@
<view class="list-total active" wx:else> <view class="list-total active" wx:else>
兑换券兑换 兑换券兑换
</view> </view>
<view class="list-tips">
<view class="list-tips-left">
<image class="list-tips-img" src="https://cdn.shuiganying.com/images/2023/04/04/d4543817b05d3aaac04dfb85ff9f8f8c.png"></image>收货城市
</view>
<view class="nowrap list-tips-right">{{item.province_city}}</view>
</view>
<view class="list-operate"> <view class="list-operate">
<view class="list-more"> <view class="list-more">
<view class="list-more-go" bindtap="operateMore" data-order_no="{{item.order_no}}" wx:if="{{item.can.cancel}}">更多</view> <view class="list-more-go" bindtap="operateMore" data-order_no="{{item.order_no}}" wx:if="{{item.can.cancel}}">更多</view>

View File

@@ -143,6 +143,9 @@ page {
.list-operate { .list-operate {
display: flex; display: flex;
margin-top: 20rpx;
padding-top: 30rpx;
border-top: solid 1rpx #f7f8f9;
} }
.list-more { .list-more {

View File

@@ -27,7 +27,6 @@ Page({
*/ */
getPayState(trade_id){ getPayState(trade_id){
wx.$api.pay.payState(trade_id).then(res => { wx.$api.pay.payState(trade_id).then(res => {
console.log(res.data.is_paid)
let { is_paid } = res.data let { is_paid } = res.data
if(is_paid){ if(is_paid){
this.setData({ this.setData({

View File

@@ -20,8 +20,6 @@ Page({
}) })
wx.$api.refund.refundPreposition(options.id).then(res => { wx.$api.refund.refundPreposition(options.id).then(res => {
let { title, order } = res.data; let { title, order } = res.data;
console.log(order)
console.log(title)
this.setData({ this.setData({
title, title,
order, order,
@@ -34,7 +32,9 @@ Page({
* 选择退货理由 * 选择退货理由
*/ */
onRadio(e){ onRadio(e){
console.log(e.detail.value) this.setData({
titleVal: e.detail.value
})
}, },
/** /**
* 选择图片上传 * 选择图片上传
@@ -65,6 +65,7 @@ Page({
mask : true mask : true
}) })
wx.$api.refund.submitRefund(this.data.order.order_no, data).then(res => { wx.$api.refund.submitRefund(this.data.order.order_no, data).then(res => {
wx.hideLoading()
wx.showModal({ wx.showModal({
title : '提示', title : '提示',
content : res.data, content : res.data,
@@ -77,6 +78,6 @@ Page({
wx.hideLoading() wx.hideLoading()
} }
}) })
}) }).catch(err => {})
} }
}) })

View File

@@ -14,10 +14,13 @@
<label>{{item.state.text}}</label> <label>{{item.state.text}}</label>
<view class="order-des">{{item.state.remark}}</view> <view class="order-des">{{item.state.remark}}</view>
</view> </view>
<view class="order-btns"> <view class="order-footer">
<view class="item item-cancel" wx:if="{{item.can.user_cancel}}" bind:tap="onCancel" data-no="{{item.refund_no}}">取消售后</view> <view class="order-total">总退款<text>{{item.refund_total}}</text></view>
<view class="item item-ok" bind:tap="onInfo" data-no="{{item.refund_no}}">售后详情</view> <view class="order-btns">
<view class="item item-ok" wx:if="{{item.can.user_deliver}}" bind:tap="onDeliver" data-no="{{item.refund_no}}">寄回商品</view> <view class="item item-cancel" wx:if="{{item.can.user_cancel}}" bind:tap="onCancel" data-no="{{item.refund_no}}">取消售后</view>
<view class="item item-ok" bind:tap="onInfo" data-no="{{item.refund_no}}">售后详情</view>
<view class="item item-ok" wx:if="{{item.can.user_deliver}}" bind:tap="onDeliver" data-no="{{item.refund_no}}">寄回商品</view>
</view>
</view> </view>
</view> </view>
<view class="pagesLoding" wx:if="{{lodingStats}}"> <view class="pagesLoding" wx:if="{{lodingStats}}">

View File

@@ -16,8 +16,13 @@
.order-state label{ width: 180rpx; } .order-state label{ width: 180rpx; }
.order-des { padding-left: 20rpx; color: #777; width: calc(100% - 180rpx); } .order-des { padding-left: 20rpx; color: #777; width: calc(100% - 180rpx); }
/* 退款统计 */
.order-footer{ display: flex; align-items: center; justify-content: space-between; border-top: solid 1rpx #f9f9f9; padding-top: 20rpx;}
.order-total{ color: #da2b54; font-size: 28rpx; }
.order-total text{ font-weight: bold; padding-left: 5rpx; }
/* 订单操作 */ /* 订单操作 */
.order-btns { border-top: solid 1rpx #f9f9f9; display: flex; justify-content: flex-end; padding-top: 20rpx; } .order-btns { display: flex; justify-content: flex-end; }
.order-btns .item{ font-size: 26rpx; margin-left: 20rpx; color: #da2b54; line-height: 56rpx; border: solid 1rpx #da2b54; padding: 0 20rpx; border-radius: 28rpx; } .order-btns .item{ font-size: 26rpx; margin-left: 20rpx; color: #da2b54; line-height: 56rpx; border: solid 1rpx #da2b54; padding: 0 20rpx; border-radius: 28rpx; }
/* 售后服务 */ /* 售后服务 */

View File

@@ -32,33 +32,29 @@ page {
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
position: relative; position: relative;
align-items: center;
} }
.inputs input { .inputs input {
width: 100%;
height: 100rpx; height: 100rpx;
line-height: 100rpx; line-height: 100rpx;
border: none; border: none;
font-size: 32rpx; font-size: 32rpx;
flex: 1;
} }
.inputs-see { .inputs-see {
position: absolute;
right: 50rpx;
top: 32rpx;
width: 38rpx; width: 38rpx;
height: 38rpx; height: 38rpx;
z-index: 9; margin-left: 30rpx;
} }
.sms-btn[size='mini'] { .sms-btn[size='mini'] {
font-weight: normal; font-weight: normal;
height: 100rpx; height: 100rpx;
line-height: 100rpx; line-height: 100rpx;
position: absolute;
top: 0;
right: 30rpx;
margin: 0; margin: 0;
padding: 0 0 0 30rpx;
border-radius: 0; border-radius: 0;
border-left: solid 1rpx #f2f2f2; border-left: solid 1rpx #f2f2f2;
color: #da2b54 !important; color: #da2b54 !important;

View File

@@ -32,33 +32,29 @@ page {
box-sizing: border-box; box-sizing: border-box;
display: flex; display: flex;
position: relative; position: relative;
align-items: center;
} }
.inputs input { .inputs input {
width: 100%;
height: 100rpx; height: 100rpx;
line-height: 100rpx; line-height: 100rpx;
border: none; border: none;
font-size: 32rpx; font-size: 32rpx;
flex: 1;
} }
.inputs-see { .inputs-see {
position: absolute;
right: 50rpx;
top: 32rpx;
width: 38rpx; width: 38rpx;
height: 38rpx; height: 38rpx;
z-index: 9; margin-left: 30rpx;
} }
.sms-btn[size='mini'] { .sms-btn[size='mini'] {
font-weight: normal; font-weight: normal;
height: 100rpx; height: 100rpx;
line-height: 100rpx; line-height: 100rpx;
position: absolute;
top: 0;
right: 30rpx;
margin: 0; margin: 0;
padding: 0 0 0 30rpx;
border-radius: 0; border-radius: 0;
border-left: solid 1rpx #f2f2f2; border-left: solid 1rpx #f2f2f2;
color: #da2b54 !important; color: #da2b54 !important;

View File

@@ -0,0 +1,28 @@
Page({
/**
* 页面的初始数据
*/
data: {
content: ""
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
wx.showLoading({
title: '加载中...',
mask : true
})
wx.$api.auth.richText(options.id).then(res => {
this.setData({
content: res.data.content
})
wx.setNavigationBarTitle({
title: res.data.title,
})
wx.hideLoading()
})
}
})

View File

@@ -0,0 +1,3 @@
{
"usingComponents": {}
}

View File

@@ -0,0 +1,4 @@
<view class="content">
<rich-text nodes="{{content}}"></rich-text>
</view>

View File

@@ -0,0 +1,2 @@
.content{ padding: 30rpx 50rpx 50rpx; font-size: 30rpx; color: #333; line-height: 50rpx; }

View File

@@ -9,8 +9,10 @@ Page({
* 页面的初始数据 * 页面的初始数据
*/ */
data: { data: {
type : '', //类型 qty : '', // 商品数量
listArr : [] //收货地址 skuid : '', // skuid
type : '', // 类型
listArr : [] // 收货地址
}, },
/** /**
@@ -19,7 +21,9 @@ Page({
onLoad(options) { onLoad(options) {
if(options) { if(options) {
this.setData({ this.setData({
type: options.type type : options.type,
qty : options.qty,
skuid : options.skuid
}) })
} }
}, },
@@ -40,6 +44,14 @@ Page({
this.setData({ this.setData({
listArr: res.data listArr: res.data
}) })
if(res.data.length <= 0){
let pages = getCurrentPages(),
prepage = pages[pages.length-2]
prepage.setData({
address: ''
})
prepage.placeInfo(this.data.skuid, this.data.qty, "chooseAdd")
}
}).catch(err => { }) }).catch(err => { })
}, },
@@ -47,21 +59,14 @@ Page({
* 选择地址 * 选择地址
*/ */
selectAddress(e){ selectAddress(e){
let atAdds = this.data.listArr[e.currentTarget.dataset.index] let atAdds = e.currentTarget.dataset.obj
let pages = getCurrentPages(), let pages = getCurrentPages(),
prepage = pages[pages.length-2] prepage = pages[pages.length - 2]
if(this.data.type == 'goodsAddress') {
prepage.setData({
address: atAdds,
addressId: atAdds.address_id
})
wx.navigateBack()
return
}
prepage.setData({ prepage.setData({
address: atAdds address: atAdds
}) })
prepage.placeInfo(this.data.skuid, this.data.qty, "chooseAdd")
wx.navigateBack() wx.navigateBack()
}, },

View File

@@ -13,7 +13,7 @@
<image src="/static/icons/siteEdit.png" bindtap="addressEdit" data-id="{{item.address_id}}" class="address-btn" mode="widthFix"></image> <image src="/static/icons/siteEdit.png" bindtap="addressEdit" data-id="{{item.address_id}}" class="address-btn" mode="widthFix"></image>
</view> </view>
<view class="select" wx:if="{{type == 'selectAddress' || type == 'goodsAddress'}}"> <view class="select" wx:if="{{type == 'selectAddress' || type == 'goodsAddress'}}">
<view class="select-btn" bindtap="selectAddress" data-index="{{index}}"> <view class="select-btn" bindtap="selectAddress" data-obj="{{item}}">
选择地址 选择地址
</view> </view>
</view> </view>

View File

@@ -1,7 +1,7 @@
/* 地址列表 */ /* 地址列表 */
.list{ padding: 30rpx 0 180rpx; height: 100vh; box-sizing: border-box; background: #f7f8f9; } .list{ padding: 30rpx 0 180rpx; height: 100vh; box-sizing: border-box; background: #f7f8f9; }
.address{ background: white; border-radius: 20rpx; margin: 0 30rpx; } .address{ background: white; border-radius: 20rpx; margin: 0 30rpx 30rpx; }
.address-flex{ display: flex; justify-content: space-between; align-items: center; padding: 30rpx; } .address-flex{ display: flex; justify-content: space-between; align-items: center; padding: 30rpx; }
.address-icon{ width: 38rpx; height: 38rpx; } .address-icon{ width: 38rpx; height: 38rpx; }
.address-btn{ width: 38rpx; height: 38rpx; } .address-btn{ width: 38rpx; height: 38rpx; }

View File

@@ -10,9 +10,11 @@ Page({
*/ */
data: { data: {
barHeight : getApp().globalData.barHeight, // 状态栏高度 barHeight : getApp().globalData.barHeight, // 状态栏高度
shareSee : false, //分享弹出 shareSee : false, // 分享弹出
inviteText : '', //邀请码 inviteText : '', // 邀请码
inviteCode : '', //二维码 inviteCode : '', // 二维码
nickname : '', // 用户名称
invite : '', // 邀请码
//海报 //海报
canvas : '' canvas : ''
}, },
@@ -38,6 +40,7 @@ Page({
onShow() { onShow() {
// 小程序码 // 小程序码
this.ShareInfo(); this.ShareInfo();
console.log(wx.getStorageSync("invite"))
}, },
/** /**
@@ -47,12 +50,40 @@ Page({
wx.$api.user.miniShare({ wx.$api.user.miniShare({
url: 'pages/mall/index' url: 'pages/mall/index'
}).then(res => { }).then(res => {
let { user_info, qrcode, invite } = res.data
this.setData({ this.setData({
inviteCode: res.data.qrcode invite : invite,
inviteCode: qrcode,
nickname : user_info.nickname
}) })
}).catch(err => {}) }).catch(err => {})
}, },
/**
* 检查授权信息
*/
onSetting(){
wx.getSetting({
success: res => {
if(res.authSetting['scope.writePhotosAlbum'] || res.authSetting['scope.writePhotosAlbum'] === undefined){
this.onCanvas()
return
}
wx.showModal({
title : '提示',
content : '暂未授权小程序写入您的相册,无法存储海报',
confirmColor: '#144592',
confirmText : '去设置',
success: res => {
if (res.confirm) {
wx.openSetting()
}
}
})
}
})
},
/** /**
* 生成海报 * 生成海报
*/ */
@@ -66,9 +97,8 @@ Page({
const codeImgEl = canvas.createImage() const codeImgEl = canvas.createImage()
const backBackEl = canvas.createImage() const backBackEl = canvas.createImage()
// codeImgEl.src = this.data.inviteCode //二维码 codeImgEl.src = this.data.inviteCode //二维码
codeImgEl.src = '/static/imgs/userHead.png' //二维码 backBackEl.src = 'https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/08/31/555d989b496e6d68ee8405bcae16555e.jpg' //背景素材
backBackEl.src = 'https://cdn.douhuofalv.com/images/2023/08/11/cd8093d6ab1a248e5154be48b0ddcaac.jpg' //背景素材
const codeImgLoding = new Promise((resolve, reason) => { const codeImgLoding = new Promise((resolve, reason) => {
codeImgEl.onload = () => { codeImgEl.onload = () => {
resolve() resolve()
@@ -83,21 +113,27 @@ Page({
ctx.drawImage(backBackEl, 0, 0, 375, 800) ctx.drawImage(backBackEl, 0, 0, 375, 800)
// 绘制[二维码-白色背景] // 绘制[二维码-白色背景]
ctx.fillStyle = "#ffffff"; ctx.fillStyle = "#ffffff";
ctx.fillRect(140, 610, 130, 130); ctx.fillRect(140, 570, 130, 130);
// 绘制[二维码-白色背景黑框] // 绘制[二维码-白色背景黑框]
ctx.strokeStyle = "#da2b54"; ctx.strokeStyle = "#da2b54";
ctx.lineWidth = 2 ctx.lineWidth = 2
ctx.strokeRect(140, 610, 132, 132); ctx.strokeRect(140, 570, 132, 132);
// 绘制[二维码] // 绘制[二维码]
ctx.drawImage(codeImgEl, 150, 620, 110, 110) ctx.drawImage(codeImgEl, 150, 580, 110, 110)
// 文字 // 文字
ctx.font = "bold 14px Arial"; //字体大小 ctx.font = "bold 14px Arial"; //字体大小
ctx.fillStyle = "#ffffff"; //字体颜色 ctx.fillStyle = "#ffffff"; //字体颜色
ctx.textAlign = "center" ctx.textAlign = "center"
ctx.fillText('保存并分享二维码', 208, 770); ctx.fillText('保存并分享二维码', 208, 740);
// 用户昵称
ctx.font = "bold 14px Arial"; //字体大小
ctx.fillStyle = "#ffffff"; //字体颜色
ctx.textAlign = "center"
ctx.fillText(this.data.nickname, 208, 770);
wx.hideLoading() wx.hideLoading()
wx.canvasToTempFilePath({ wx.canvasToTempFilePath({
@@ -116,22 +152,12 @@ Page({
}, },
fail: () => { fail: () => {
wx.hideLoading() wx.hideLoading()
wx.showModal({
title: '提示',
content: '暂未授权小程序写入您的相册,无法存储海报',
confirmColor: '#e50d01',
confirmText: '去设置',
success: res => {
if (res.confirm) {
wx.openSetting()
}
}
})
} }
}) })
}, },
}) })
}).catch(err => { }).catch(err => {
wx.hideLoading()
wx.showToast({ wx.showToast({
title: '图片加载失败', title: '图片加载失败',
icon : 'none' icon : 'none'
@@ -161,9 +187,9 @@ Page({
shareSee: false shareSee: false
}) })
return { return {
title : '水感应修复、紧致、舒缓喷雾', title : '绚火健康,生命可以如此精彩~',
path : "/pages/index/index?invite=" + wx.getStorageSync("invite"), path : "/pages/mall/index?invite=" + this.data.invite,
imageUrl: "https://cdn.shuiganying.com/images/2023/04/04/9cd9968136e7efd85028fba69e4c587a.jpg" imageUrl: "https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/08/31/555d989b496e6d68ee8405bcae16555e.jpg"
} }
} }
}) })

View File

@@ -6,7 +6,7 @@
<!-- 二维码海报 --> <!-- 二维码海报 -->
<view class="code"> <view class="code">
<image src="https://cdn.douhuofalv.com/images/2023/08/11/cd8093d6ab1a248e5154be48b0ddcaac.jpg" class="code-back"></image> <image src="https://douhuo-storage.oss-cn-beijing.aliyuncs.com/images/2023/08/31/555d989b496e6d68ee8405bcae16555e.jpg" class="code-back"></image>
<view class="code-cont"> <view class="code-cont">
<view class="code-img"> <view class="code-img">
<image src="{{inviteCode}}" mode="widthFix"></image> <image src="{{inviteCode}}" mode="widthFix"></image>
@@ -30,7 +30,7 @@
<image src="https://cdn.shuiganying.com/images/2023/03/28/f8b773edc2fe6db8e45f96773b9a8dc4.png"></image> <image src="https://cdn.shuiganying.com/images/2023/03/28/f8b773edc2fe6db8e45f96773b9a8dc4.png"></image>
微信好友 微信好友
</button> </button>
<view class="shareCont-label" bindtap="onCanvas"> <view class="shareCont-label" bindtap="onSetting">
<image src="https://cdn.shuiganying.com/images/2023/03/28/cfe0efbb53eaf7911ea5211923859c65.png"></image> <image src="https://cdn.shuiganying.com/images/2023/03/28/cfe0efbb53eaf7911ea5211923859c65.png"></image>
保存二维码 保存二维码
</view> </view>

View File

@@ -68,9 +68,10 @@
</view> </view>
<view class="order-item" bindtap="userNav" data-url="/pages/user/team/index"> <view class="order-item" bindtap="userNav" data-url="/pages/user/team/index">
<image class="tool-icon" src="/static/imgs/tool_06.png" mode="widthFix"></image> <image class="tool-icon" src="/static/imgs/tool_06.png" mode="widthFix"></image>
<view class="order-label">我的团队</view> <view class="order-label">我的市场</view>
</view> </view>
<view class="order-item" bindtap="userNav" data-url="/pages/refund/refund"> <view class="order-item" bindtap="userNav" data-url="/pages/refund/refund">
<text class="order-number" wx:if="{{userData.refund > 0}}">{{userData.refund}}</text>
<image class="tool-icon" src="/static/imgs/tool_08.png" mode="widthFix"></image> <image class="tool-icon" src="/static/imgs/tool_08.png" mode="widthFix"></image>
<view class="order-label">售后记录</view> <view class="order-label">售后记录</view>
</view> </view>
@@ -113,7 +114,7 @@
<view class="nowrap goodsItem-text">{{item.description}}</view> <view class="nowrap goodsItem-text">{{item.description}}</view>
<view class="goodsItem-tips"> <view class="goodsItem-tips">
<view class="goodsItem-price">¥{{item.original_price}}</view> <view class="goodsItem-price">¥{{item.original_price}}</view>
<view class="goodsItem-sales">览 {{item.clicks}}</view> <view class="goodsItem-sales">览 {{item.clicks}}</view>
</view> </view>
</view> </view>
</view> </view>

View File

@@ -94,6 +94,19 @@ page {
margin: 20rpx 0; margin: 20rpx 0;
} }
.order-number{
position: absolute;
right: 25%;
top: 0;
background: #da2b54;
color: white;
font-size: 22rpx;
min-width: 30rpx;
height: 30rpx;
line-height: 30rpx;
border-radius: 15rpx;
}
.order-icon { .order-icon {
width: 52rpx; width: 52rpx;
} }

View File

@@ -124,7 +124,6 @@ Page({
if (res.confirm) { if (res.confirm) {
// 清理客户端登录缓存 // 清理客户端登录缓存
wx.removeStorageSync("token") wx.removeStorageSync("token")
wx.switchTab({ wx.switchTab({
url: '/pages/user/index' url: '/pages/user/index'
}) })

View File

@@ -1,18 +1,18 @@
<view class="item"> <view class="item">
<view class="item-label"> <view class="item-label">
<view class="item-name">个人当日消费额</view> <view class="item-name">个人当日销售额</view>
<view class="item-number item-number-red">{{perfInfo.day_perf}}</view> <view class="item-number item-number-red">{{perfInfo.day_perf}}</view>
<image class="item-icon" src="/static/imgs/teamIcon_01.png" mode="widthFix"></image> <image class="item-icon" src="/static/imgs/teamIcon_01.png" mode="widthFix"></image>
</view> </view>
<view class="item-label"> <view class="item-label">
<view class="item-name">个人累计消费额</view> <view class="item-name">个人累计销售额</view>
<view class="item-number item-number-red">{{perfInfo.self_perf}}</view> <view class="item-number item-number-red">{{perfInfo.self_perf}}</view>
<image class="item-icon" src="/static/imgs/teamIcon_02.png" mode="widthFix"></image> <image class="item-icon" src="/static/imgs/teamIcon_02.png" mode="widthFix"></image>
</view> </view>
</view> </view>
<view class="item"> <view class="item">
<view class="item-label item-blue"> <view class="item-label item-blue">
<view class="item-name">个人当日消费额</view> <view class="item-name">市场业绩</view>
<view class="item-number item-number-blue">{{perfInfo.group_perf}}</view> <view class="item-number item-number-blue">{{perfInfo.group_perf}}</view>
<image class="item-icon" src="/static/imgs/teamIcon_04.png" mode="widthFix"></image> <image class="item-icon" src="/static/imgs/teamIcon_04.png" mode="widthFix"></image>
</view> </view>
@@ -24,7 +24,7 @@
<image class="item-icon" src="/static/imgs/teamIcon_03.png" mode="widthFix"></image> <image class="item-icon" src="/static/imgs/teamIcon_03.png" mode="widthFix"></image>
</view> </view>
<view class="item-label"> <view class="item-label">
<view class="item-name">团队客户</view> <view class="item-name">市场客户</view>
<view class="item-number item-number-yellow">{{teamsInfo.group}}</view> <view class="item-number item-number-yellow">{{teamsInfo.group}}</view>
<image class="item-icon" src="/static/imgs/teamIcon_03.png" mode="widthFix"></image> <image class="item-icon" src="/static/imgs/teamIcon_03.png" mode="widthFix"></image>
</view> </view>
@@ -37,19 +37,10 @@
</view> </view>
<view class="listItem" wx:if="{{childrenArr.length > 0}}"> <view class="listItem" wx:if="{{childrenArr.length > 0}}">
<view class="listItem-item" wx:for="{{childrenArr}}" wx:key="childrenArr"> <view class="listItem-item" wx:for="{{childrenArr}}" wx:key="childrenArr">
<view class="listItem-top"> <image class="listItem-head" src="/static/imgs/userHead.png" mode="widthFix"></image>
<image class="listItem-head" src="/static/imgs/userHead.png" mode="widthFix"></image> <view class="listItem-cont">
<view class="listItem-cont"> <view class="listItem-name nowrap">{{item.nickname || '-'}}<text>{{item.hidden_username || '-'}}</text></view>
<view class="listItem-name"> <view class="listItem-time nowrap">{{item.created_at}}</view>
李莉莉
</view>
<view class="listItem-tel">
152****7708
</view>
</view>
</view>
<view class="listItem-time">
2023-08-18
</view> </view>
</view> </view>
<view class="pagesLoding" wx:if="{{lodingStats}}"> <view class="pagesLoding" wx:if="{{lodingStats}}">

View File

@@ -78,40 +78,37 @@ page {
.listItem-item { .listItem-item {
background-color: #ffffff; background-color: #ffffff;
border-radius: 20rpx; border-radius: 20rpx;
padding: 30rpx; padding: 25rpx 30rpx;
box-sizing: border-box; box-sizing: border-box;
display: flex;
margin-bottom: 30rpx; margin-bottom: 30rpx;
} display: flex;
align-items: center;
.listItem-top {
position: relative;
flex: 1;
} }
.listItem-head { .listItem-head {
width: 100rpx; width: 88rpx;
} }
.listItem-cont { .listItem-cont {
position: absolute; width: 100% - 88rpx;
left: 0; padding-left: 30rpx;
top: 0; box-sizing: border-box;
width: 100%;
padding-left: 130rpx;
} }
.listItem-name { .listItem-name {
font-weight: 600; font-weight: 600;
line-height: 40rpx;
} }
.listItem-tel { .listItem-name text {
margin-top: 20rpx; padding-left: 20rpx;
color: #666666; font-weight: normal;
} }
.listItem-time { .listItem-time {
line-height: 100rpx; font-size: 26rpx;
color: gray;
line-height: 40rpx;
} }

View File

@@ -63,11 +63,14 @@ Page({
}) })
return return
} }
this.setData({
bankNo : '',
mobile : '',
bankVal : 0
})
if(type == 1){ if(type == 1){
this.setData({ this.setData({
name : this.data.identity.name, name : this.data.identity.name
idcard : this.data.identity.id_card_no
}) })
}else{ }else{
this.setData({ this.setData({
@@ -127,7 +130,7 @@ Page({
name : valueObj.name, name : valueObj.name,
mobileNo : valueObj.mobile, mobileNo : valueObj.mobile,
bank_no : valueObj.bankNo, bank_no : valueObj.bankNo,
id_card : valueObj.idcard || '', id_card : this.data.type == 1 ? this.data.identity.id_card_no : valueObj.idcard || '',
message_type: this.data.type, message_type: this.data.type,
} }
wx.$api.withdraw.withdraws(data).then(res => { wx.$api.withdraw.withdraws(data).then(res => {

View File

@@ -3,15 +3,29 @@
"projectname": "%E7%82%AB%E7%81%AB", "projectname": "%E7%82%AB%E7%81%AB",
"setting": { "setting": {
"compileHotReLoad": true, "compileHotReLoad": true,
"urlCheck": true "urlCheck": false
}, },
"condition": { "condition": {
"miniprogram": { "miniprogram": {
"list": [ "list": [
{
"name": "朋友圈进入详情",
"pathName": "pages/mall/details/details",
"query": "id=3&invite=null",
"launchMode": "default",
"scene": 1084
},
{
"name": "",
"pathName": "pages/mall/index",
"query": "invite=233232",
"launchMode": "default",
"scene": null
},
{ {
"name": "详情详情", "name": "详情详情",
"pathName": "pages/mall/details/details", "pathName": "pages/mall/details/details",
"query": "id=4&invite=", "query": "id=1&invite=2222",
"launchMode": "default", "launchMode": "default",
"scene": null "scene": null
}, },
@@ -39,5 +53,5 @@
] ]
} }
}, },
"libVersion": "2.33.0" "libVersion": "3.0.0"
} }

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

After

Width:  |  Height:  |  Size: 38 KiB

BIN
static/imgs/vip.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB