Merge branch 'feature/mall_product_new'

pull/16/head
perry 2023-05-24 22:19:32 +08:00
commit 7569be214a
17 changed files with 157 additions and 226 deletions

View File

@ -32,7 +32,7 @@ public class RechargeOrderBaseVO {
@Schema(description = "用户id", required = true, example = "28969") @Schema(description = "用户id", required = true, example = "28969")
@NotNull(message = "用户id不能为空") @NotNull(message = "用户id不能为空")
private Integer uid; private Long uid;
@Schema(description = "用户姓名", required = true, example = "张三") @Schema(description = "用户姓名", required = true, example = "张三")
@NotNull(message = "用户姓名不能为空") @NotNull(message = "用户姓名不能为空")

View File

@ -22,7 +22,7 @@ public class RechargeOrderExportReqVO {
private Long tenantId; private Long tenantId;
@Schema(description = "用户id", example = "28969") @Schema(description = "用户id", example = "28969")
private Integer uid; private Long uid;
@Schema(description = "用户姓名", example = "张三") @Schema(description = "用户姓名", example = "张三")
private String realName; private String realName;

View File

@ -24,7 +24,7 @@ public class RechargeOrderPageReqVO extends PageParam {
private Long tenantId; private Long tenantId;
@Schema(description = "用户id", example = "28969") @Schema(description = "用户id", example = "28969")
private Integer uid; private Long uid;
@Schema(description = "用户姓名", example = "张三") @Schema(description = "用户姓名", example = "张三")
private String realName; private String realName;

View File

@ -37,42 +37,4 @@ import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.E
@Slf4j @Slf4j
public class AppPhoneRecordController { public class AppPhoneRecordController {
@Resource
private PhoneRecordService phoneRecordService;
@Value("${phone.query-url}")
private String phoneUrl;
@Value("${phone.token}")
private String token;
@PostMapping("test")
public CommonResult<Boolean> test(@RequestBody List<PhoneRecordAdd> data){
String result = HttpRequest.post(phoneUrl+"query/createReport")
.header("token",token)
.body(JSONObject.toJSONString(data))
.execute()
.body();
JSONObject resultJson = JSONObject.parseObject(result);
log.info("提报新增返回结果{}",JSONObject.toJSONString(resultJson));
if("0000".equals(resultJson.get("code"))){
return success(null);
}
return success(null);
}
@PostMapping("delete")
public CommonResult<Boolean> delete(@RequestBody String data){
String result = HttpRequest.post(phoneUrl+"query/deleteReport?orderNo="+data)
.header("token",token)
.execute()
.body();
JSONObject resultJson = JSONObject.parseObject(result);
log.info("删除返回结果{}",JSONObject.toJSONString(resultJson));
if("0000".equals(resultJson.get("code"))){
return success(null);
}
return success(null);
}
} }

View File

@ -43,7 +43,7 @@ public class StoreProductLog implements Serializable {
private Integer productId; private Integer productId;
@Schema(description= "用户ID") @Schema(description= "用户ID")
private Integer uid; private Long uid;
@Schema(description= "是否浏览") @Schema(description= "是否浏览")
private Boolean visitNum; private Boolean visitNum;

View File

@ -70,5 +70,5 @@ public interface StoreOrderMapper extends BaseMapperX<StoreOrder> {
* @param uid uid * @param uid uid
* @param spreadId 广uid * @param spreadId 广uid
*/ */
OrderBrokerageData getBrokerageData(@Param("uid") Integer uid, @Param("spreadId") Integer spreadId); OrderBrokerageData getBrokerageData(@Param("uid") Long uid, @Param("spreadId") Integer spreadId);
} }

View File

@ -66,7 +66,7 @@ public interface StoreOrderService extends IService<StoreOrder> {
* @param pageParamRequest * @param pageParamRequest
* @return * @return
*/ */
List<StoreOrder> getUserOrderList(Integer uid, Integer status, PageParam pageParamRequest); List<StoreOrder> getUserOrderList(Long uid, Integer status, PageParam pageParamRequest);
/** /**
* *
* @param storeOrder * @param storeOrder
@ -141,21 +141,21 @@ public interface StoreOrderService extends IService<StoreOrder> {
* @param seckillId id * @param seckillId id
* @return * @return
*/ */
List<StoreOrder> getUserCurrentDaySecKillOrders(Integer uid, Integer seckillId); List<StoreOrder> getUserCurrentDaySecKillOrders(Long uid, Integer seckillId);
/** /**
* *
* @param uid uid * @param uid uid
* @return * @return
*/ */
List<StoreOrder> getUserCurrentBargainOrders(Integer uid, Integer bargainId); List<StoreOrder> getUserCurrentBargainOrders(Long uid, Integer bargainId);
/** /**
* *
* @param uid uid * @param uid uid
* @return * @return
*/ */
List<StoreOrder> getUserCurrentCombinationOrders(Integer uid, Integer combinationId); List<StoreOrder> getUserCurrentCombinationOrders(Long uid, Integer combinationId);
StoreOrder getByOderId(String orderId); StoreOrder getByOderId(String orderId);
@ -206,7 +206,7 @@ public interface StoreOrderService extends IService<StoreOrder> {
* @param uid uid * @param uid uid
* @return Integer * @return Integer
*/ */
Long getOrderCountByUid(Integer uid); Long getOrderCountByUid(Long uid);
/** /**
* *
@ -220,7 +220,7 @@ public interface StoreOrderService extends IService<StoreOrder> {
* @param uid uid * @param uid uid
* @return Integer * @return Integer
*/ */
Long getOrderCountByUidAndDate(Integer uid, String date); Long getOrderCountByUidAndDate(Long uid, String date);
/** /**
* () * ()
@ -380,7 +380,7 @@ public interface StoreOrderService extends IService<StoreOrder> {
* @param uid uid * @param uid uid
* @param spreadId 广uid * @param spreadId 广uid
*/ */
OrderBrokerageData getBrokerageData(Integer uid, Integer spreadId); OrderBrokerageData getBrokerageData(Long uid, Integer spreadId);
/** /**
* *

View File

@ -231,7 +231,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
* @return * @return
*/ */
@Override @Override
public List<StoreOrder> getUserOrderList(Integer uid, Integer status, PageParam pageParamRequest) { public List<StoreOrder> getUserOrderList(Long uid, Integer status, PageParam pageParamRequest) {
PageHelper.startPage(pageParamRequest.getPageNo(), pageParamRequest.getPageSize()); PageHelper.startPage(pageParamRequest.getPageNo(), pageParamRequest.getPageSize());
LambdaQueryWrapper<StoreOrder> lqw = new LambdaQueryWrapper<>(); LambdaQueryWrapper<StoreOrder> lqw = new LambdaQueryWrapper<>();
orderUtil.statusApiByWhere(lqw, status); orderUtil.statusApiByWhere(lqw, status);
@ -541,7 +541,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
* @return * @return
*/ */
@Override @Override
public List<StoreOrder> getUserCurrentDaySecKillOrders(Integer uid, Integer seckillId) { public List<StoreOrder> getUserCurrentDaySecKillOrders(Long uid, Integer seckillId) {
String dayStart = DateUtils.nowDateTime(Constants.DATE_FORMAT_START); String dayStart = DateUtils.nowDateTime(Constants.DATE_FORMAT_START);
String dayEnd = DateUtils.nowDateTime(Constants.DATE_FORMAT_END); String dayEnd = DateUtils.nowDateTime(Constants.DATE_FORMAT_END);
LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery();
@ -560,7 +560,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
* @return * @return
*/ */
@Override @Override
public List<StoreOrder> getUserCurrentBargainOrders(Integer uid, Integer bargainId) { public List<StoreOrder> getUserCurrentBargainOrders(Long uid, Integer bargainId) {
LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery();
lqw.eq(StoreOrder::getUid, uid); lqw.eq(StoreOrder::getUid, uid);
lqw.eq(StoreOrder::getBargainId, bargainId); lqw.eq(StoreOrder::getBargainId, bargainId);
@ -576,7 +576,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
* @return * @return
*/ */
@Override @Override
public List<StoreOrder> getUserCurrentCombinationOrders(Integer uid, Integer combinationId) { public List<StoreOrder> getUserCurrentCombinationOrders(Long uid, Integer combinationId) {
LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery();
lqw.eq(StoreOrder::getUid, uid); lqw.eq(StoreOrder::getUid, uid);
lqw.eq(StoreOrder::getCombinationId, combinationId); lqw.eq(StoreOrder::getCombinationId, combinationId);
@ -724,7 +724,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
* @return Integer * @return Integer
*/ */
@Override @Override
public Long getOrderCountByUid(Integer uid) { public Long getOrderCountByUid(Long uid) {
LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery();
lqw.eq(StoreOrder::getPaid, true); lqw.eq(StoreOrder::getPaid, true);
lqw.eq(StoreOrder::getIsDel, false); lqw.eq(StoreOrder::getIsDel, false);
@ -759,7 +759,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
* @return Integer * @return Integer
*/ */
@Override @Override
public Long getOrderCountByUidAndDate(Integer uid, String date) { public Long getOrderCountByUidAndDate(Long uid, String date) {
LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<StoreOrder> lqw = Wrappers.lambdaQuery();
lqw.eq(StoreOrder::getPaid, true); lqw.eq(StoreOrder::getPaid, true);
lqw.eq(StoreOrder::getIsDel, false); lqw.eq(StoreOrder::getIsDel, false);
@ -1165,7 +1165,7 @@ public class StoreOrderServiceImpl extends ServiceImpl<StoreOrderMapper, StoreOr
* @param spreadId 广uid * @param spreadId 广uid
*/ */
@Override @Override
public OrderBrokerageData getBrokerageData(Integer uid, Integer spreadId) { public OrderBrokerageData getBrokerageData(Long uid, Integer spreadId) {
return null; return null;
} }

View File

@ -53,7 +53,7 @@ public interface StoreProductRelationService extends IService<StoreProductRelati
* @param uid uid * @param uid uid
* @return * @return
*/ */
Integer getCollectCountByUid(Integer uid); Integer getCollectCountByUid(Long uid);
/** /**
* Id * Id

View File

@ -159,7 +159,7 @@ public class StoreProductRelationServiceImpl extends ServiceImpl<StoreProductRel
* @return * @return
*/ */
@Override @Override
public Integer getCollectCountByUid(Integer uid) { public Integer getCollectCountByUid(Long uid) {
LambdaQueryWrapper<StoreProductRelation> lqr = Wrappers.lambdaQuery(); LambdaQueryWrapper<StoreProductRelation> lqr = Wrappers.lambdaQuery();
lqr.eq(StoreProductRelation::getUid, uid); lqr.eq(StoreProductRelation::getUid, uid);
lqr.eq(StoreProductRelation::getType,"collect"); lqr.eq(StoreProductRelation::getType,"collect");

View File

@ -3,6 +3,22 @@
<mapper namespace="cn.iocoder.yudao.module.shop.dal.mysql.express.ShippingTemplatesFreeMapper"> <mapper namespace="cn.iocoder.yudao.module.shop.dal.mysql.express.ShippingTemplatesFreeMapper">
<select id="getListGroup" resultType="cn.iocoder.yudao.module.shop.controller.admin.express.vo.ShippingTemplatesFreeRespVO" parameterType="integer"> <select id="getListGroup" resultType="cn.iocoder.yudao.module.shop.controller.admin.express.vo.ShippingTemplatesFreeRespVO" parameterType="integer">
SELECT group_concat(`city_id`) AS city_id, province_id, title, `number`, price, uniqid FROM eb_shipping_templates_free where temp_id = #{tempId, jdbcType=INTEGER} GROUP BY `uniqid`,id ORDER BY id ASC SELECT
city_id, province_id, title, `number`, price, uniqid
FROM
eb_shipping_templates_free es
JOIN
(
SELECT
MAX(id) id
FROM
eb_shipping_templates_free
where
temp_id = #{tempId, jdbcType=INTEGER}
GROUP BY
`uniqid`
ORDER BY id ASC
) a
ON a.id = es.id
</select> </select>
</mapper> </mapper>

View File

@ -3,6 +3,22 @@
<mapper namespace="cn.iocoder.yudao.module.shop.dal.mysql.express.ShippingTemplatesNoDeliveryMapper"> <mapper namespace="cn.iocoder.yudao.module.shop.dal.mysql.express.ShippingTemplatesNoDeliveryMapper">
<select id="getList" resultType="cn.iocoder.yudao.module.shop.controller.admin.express.vo.ShippingTemplatesNoDeliveryRespVO" parameterType="integer"> <select id="getList" resultType="cn.iocoder.yudao.module.shop.controller.admin.express.vo.ShippingTemplatesNoDeliveryRespVO" parameterType="integer">
SELECT group_concat(`city_id`) AS city_id, province_id, title, uniqid FROM eb_shipping_templates_no_delivery WHERE temp_id = #{tempId, jdbcType=INTEGER} GROUP BY `uniqid`,id ORDER BY id ASC SELECT
city_id, province_id, title, uniqid
FROM
eb_shipping_templates_no_delivery es
JOIN
(
SELECT
MAX(id) id
FROM
eb_shipping_templates_no_delivery
where
temp_id = #{tempId, jdbcType=INTEGER}
GROUP BY
`uniqid`
ORDER BY id ASC
) a
ON a.id = es.id
</select> </select>
</mapper> </mapper>

View File

@ -3,6 +3,22 @@
<mapper namespace="cn.iocoder.yudao.module.shop.dal.mysql.express.ShippingTemplatesRegionMapper"> <mapper namespace="cn.iocoder.yudao.module.shop.dal.mysql.express.ShippingTemplatesRegionMapper">
<select id="getListGroup" resultType="cn.iocoder.yudao.module.shop.controller.admin.express.vo.ShippingTemplatesRegionRespVO" parameterType="integer"> <select id="getListGroup" resultType="cn.iocoder.yudao.module.shop.controller.admin.express.vo.ShippingTemplatesRegionRespVO" parameterType="integer">
SELECT group_concat(`city_id`) AS city_id, province_id, `first`, first_price, title, `renewal`, renewal_price, uniqid FROM eb_shipping_templates_region where temp_id = #{tempId, jdbcType=INTEGER} GROUP BY `uniqid`,id ORDER BY id ASC SELECT
city_id, province_id, `first`, first_price, title, `renewal`, renewal_price, uniqid
FROM
eb_shipping_templates_region es
JOIN
(
SELECT
MAX(id) id
FROM
eb_shipping_templates_region
where
temp_id = #{tempId, jdbcType=INTEGER}
GROUP BY
`uniqid`
ORDER BY id ASC
) a
ON a.id = es.id
</select> </select>
</mapper> </mapper>

View File

@ -375,7 +375,7 @@ export default {
logistics.shippingRegion({ tempId: this.tempId }).then(res => { logistics.shippingRegion({ tempId: this.tempId }).then(res => {
res.data.forEach((item, index) => { res.data.forEach((item, index) => {
// item.title = JSON.parse(item.title) // item.title = JSON.parse(item.title)
item.city_ids = item.title item.city_ids = JSON.parse(item.title)
}) })
this.ruleForm.region = res.data this.ruleForm.region = res.data
}) })
@ -385,10 +385,9 @@ export default {
logistics.shippingFree({ tempId: this.tempId }).then(res => { logistics.shippingFree({ tempId: this.tempId }).then(res => {
res.data.forEach((item, index) => { res.data.forEach((item, index) => {
// item.title = JSON.parse(item.title) // item.title = JSON.parse(item.title)
item.city_ids = item.cityId.split(',') item.city_ids = JSON.parse(item.title)
}) })
this.ruleForm.free = res.data this.ruleForm.free = res.data
console.log(this.ruleForm.free )
}) })
}, },
@ -462,9 +461,11 @@ export default {
} }
this.ruleForm.region.forEach((el, index) => { this.ruleForm.region.forEach((el, index) => {
if(el.city_ids.length > 0){ if(el.city_ids.length > 0){
el.cityId = JSON.stringify(el.city_ids) el.title = JSON.stringify(el.city_ids)
el.cityId = el.city_ids.join(",")
}else{ }else{
el.cityId = 'all' el.cityId = 'all'
el.title = 0
} }
}) })
param.shippingTemplatesRegionRespVOList = this.ruleForm.region param.shippingTemplatesRegionRespVOList = this.ruleForm.region
@ -484,9 +485,11 @@ export default {
if (this.ruleForm.appoint) { if (this.ruleForm.appoint) {
this.ruleForm.free.forEach((el, index) => { this.ruleForm.free.forEach((el, index) => {
if(el.city_ids.length > 0){ if(el.city_ids.length > 0){
el.cityId = JSON.stringify(el.city_ids) el.title = JSON.stringify(el.city_ids)
el.cityId = el.city_ids.join(",")
}else{ }else{
el.cityId = 'all' el.cityId = 'all'
el.title = 0
} }
}) })
param.shippingTemplatesFreeRespVOList = this.ruleForm.free param.shippingTemplatesFreeRespVOList = this.ruleForm.free

View File

@ -1,28 +1,14 @@
<template> <template>
<view class="box"> <view class="box">
<view class="box-member"> <view class="list-item" >
<view class="member-left"> <view class="item-title">
<text class="left-title">{{memberDetail.grade}}</text> <view class="item-phone">
<view class="left-info"> <view></view>
<text>{{userInfo.mobile}}</text> <text>充值号码{{memberDetail.userPhone}}</text>
<text>会员积分{{memberDetail.integral}}</text>
</view>
<text>再升1级即可获得XX等6项权益</text>
<view class="left-button">
<view class="left-shopping" @click="handleRouter('购买记录')">
<text>购买记录</text>
<image src="../../static/images/shopping-right.png" ></image>
</view>
<view class="left-others" @click="handleRouter('为他人充值')">
为他人充值
<image src="../../static/images/others-right.png" ></image>
</view> </view>
</view> </view>
</view> <view class="item-text">
<view class="member-right"> <text>充值档次{{memberDetail.grade}}</text>
<image src='../../static/images/vipStar.png'></image>
<text>会员等级{{vipData.findIndex((item) => item == memberDetail.grade) +1}}</text>
<button @click="handleRenew"></button>
</view> </view>
</view> </view>
<view class="box-equity"> <view class="box-equity">
@ -61,7 +47,7 @@
</view> </view>
</view> </view>
</view> </view>
<u-navbar leftIcon="" title="会员申请"></u-navbar> <u-navbar leftIcon="" title="话费返回情况"></u-navbar>
</view> </view>
</template> </template>
@ -81,15 +67,15 @@
list: [ list: [
{ {
img:'../../static/images/member240.png', img:'../../static/images/member240.png',
name:'360' name:360
}, },
{ {
img:'../../static/images/member400.png', img:'../../static/images/member400.png',
name:'600' name:600
}, },
{ {
img:'../../static/images/member960.png', img:'../../static/images/member960.png',
name:'900' name:900
}, },
], ],
vipData:['普通会员','中级会员','高级会员'], vipData:['普通会员','中级会员','高级会员'],
@ -99,24 +85,8 @@
}; };
}, },
computed: mapGetters(['userInfo']), computed: mapGetters(['userInfo']),
async onLoad() { async onLoad(options) {
const resful = await memberGradeInfo() this.memberDetail = options
if(resful.data.some((item) => !!parseInt(item.isExist))){
uni.setTabBarItem({
index: 0,
pagePath: '/pages/member_equity/index'
})
}else{
uni.setTabBarItem({
index: 0,
pagePath: '/pages/member_application/index'
})
uni.switchTab({
url:'/pages/member_application/index'
})
}
const res = await memberHeadInfo()
this.memberDetail = res.data
const equity = await query(this.userInfo.mobile) const equity = await query(this.userInfo.mobile)
this.equityData = equity.data this.equityData = equity.data
}, },
@ -153,7 +123,7 @@
<style lang="scss" scoped> <style lang="scss" scoped>
.box { .box {
margin-bottom: 30%; padding: 40rpx 20rpx;
margin-top: 10%; margin-top: 10%;
background: #fff; background: #fff;
height: 100vh; height: 100vh;
@ -162,116 +132,52 @@
background-repeat: no-repeat; background-repeat: no-repeat;
background-attachment: fixed; background-attachment: fixed;
.u-nav-slot{
::v-deep .u-popup__content{
padding-bottom: 20% !important;
} .list-item{
} margin-bottom: 10%;
padding: 30rpx 16rpx 25rpx 16rpx;
background: #FDF0F1;
.box-member {
padding: 36rpx 40rpx;
border-radius: 20rpx; border-radius: 20rpx;
width: 100%;
// padding: 20rpx 20rpx 30rpx 20rpx;
display: flex;
justify-content: space-between;
line-height: 50rpx;
.member-left {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
width: 69%; .item-title{
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #000000;
.left-title {
font-size: 35rpx;
font-family: PingFang SC;
font-weight: 600;
color: #000000;
}
.left-info {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
.item-phone{
display: flex;
align-items: center;
font-size: 30rpx;
color: #E91D51;
view{
border-radius: 3rpx;
margin-right: 10rpx;
width: 5rpx;
height: 12rpx;
background: #E91D51;
} }
.left-button{ }
button{
padding: 6rpx ;
font-size: 26rpx;
background: rgb(22,155,213);
color: #fff;
}
}
.item-text{
padding: 34rpx 12rpx;
background: #fff;
margin-top: 20rpx;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
margin-top: 10rpx; font-size: 30rpx;
image{
width: 24rpx;
height: 24rpx;
margin-left: 13rpx;
}
.left-shopping{
display: flex;
align-items: center;
justify-content: center;
width: 204rpx;
height: 61rpx;
background: #F8EFF0;
border: 1px solid #F783B0;
border-radius: 30rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #000000;
}
.left-others{
background-image: url("../../static/images/others-button.png");
background-size: 204rpx 61rpx;
display: flex;
align-items: center;
justify-content: center;
width: 204rpx;
height: 61rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
} }
} }
.member-right {
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
width: 22%;
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #000000;
image {
width: 100rpx;
height: 100rpx;
border-radius: 50%;
margin-bottom: 10rpx;
}
button {
margin-top: 10rpx;
padding: 7rpx 16rpx;
background: #F22E60;
border-image: linear-gradient(0deg, #A8052E, #FFFFFF) 10 10;
border-radius: 18rpx;
font-size: 22rpx;
font-family: PingFang SC;
font-weight: 400;
color: #FFFFFF;
}
}
}
.box-equity { .box-equity {
// border-radius: 20rpx;
width: 100%; width: 100%;
padding: 0 40rpx; padding: 0 40rpx;
background: url(../../static/images/memberEquity.png); background: url(../../static/images/memberEquity.png);

View File

@ -14,14 +14,14 @@
<image src="../../static/images/shopping-right.png" ></image> <image src="../../static/images/shopping-right.png" ></image>
</view> </view>
<view class="left-others" @click="handleRouter('为他人充值')"> <view class="left-others" @click="handleRouter('为他人充值')">
他人充值 他人充值
<image src="../../static/images/others-right.png" ></image> <image src="../../static/images/others-right.png" ></image>
</view> </view>
</view> </view>
</view> </view>
<view class="member-right"> <view class="member-right">
<image src='../../static/images/vipStar.png'></image> <image src='../../static/images/vipStar.png'></image>
<text>会员等级{{vipData.findIndex((item) => item == memberDetail.grade) +1}}</text> <text>会员等级{{vipData.findIndex((item) => item == parseInt(memberDetail.grade)) +1}}</text>
<button @click="handleRenew"></button> <button @click="handleRenew"></button>
</view> </view>
</view> </view>
@ -47,11 +47,11 @@
</view> </view>
</view> </view>
<view class="money-box money-treat"> <view class="money-box money-treat">
<text>返还金额 () </text> <text>返还金额 () </text>
<text class="money-text">{{list[list.findIndex((i) => item.gear == i.name)].name-item.totalMoney}}</text> <text class="money-text">{{list[list.findIndex((i) => item.gear == i.name)].name-item.totalMoney}}</text>
</view> </view>
<view class="money-box money-term"> <view class="money-box money-term">
<text>返还期额</text> <text>返还期额</text>
<text class="money-text">{{item.frequency}}x12</text> <text class="money-text">{{item.frequency}}x12</text>
</view> </view>
<view class="money-box money-time"> <view class="money-box money-time">
@ -81,15 +81,15 @@
list: [ list: [
{ {
img:'../../static/images/member240.png', img:'../../static/images/member240.png',
name:'360' name:360
}, },
{ {
img:'../../static/images/member400.png', img:'../../static/images/member400.png',
name:'600' name:600
}, },
{ {
img:'../../static/images/member960.png', img:'../../static/images/member960.png',
name:'900' name:900
}, },
], ],
vipData:['普通会员','中级会员','高级会员'], vipData:['普通会员','中级会员','高级会员'],

View File

@ -3,13 +3,13 @@
<view class="box-seach"> <view class="box-seach">
<u-search placeholder="按手机号搜索查询" v-model="keyword" border-color="#F94B78" height="70" margin="0 0 35rpx 0" placeholder-color="#9C9C9C" bg-color="#fff" :show-action="false"></u-search> <u-search placeholder="按手机号搜索查询" v-model="keyword" border-color="#F94B78" height="70" margin="0 0 35rpx 0" placeholder-color="#9C9C9C" bg-color="#fff" :show-action="false"></u-search>
</view> </view>
<view class="list-item" v-for="(item,index) in memberData" :key="index"> <view class="list-item" v-for="(item,index) in memberData" :key="index" @click.stop="handleBack(item)">
<view class="item-title"> <view class="item-title">
<view class="item-phone"> <view class="item-phone">
<view></view> <view></view>
<text>充值号码{{item.userPhone}}</text> <text>充值号码{{item.userPhone}}</text>
</view> </view>
<button v-show="item.bool" @click="handleService(item.orderId)">退</button> <button v-show="item.bool" @click.stop="handleService(item.orderId)">退</button>
</view> </view>
<view class="item-text"> <view class="item-text">
<text>充值档次{{item.grade}}</text> <text>充值档次{{item.grade}}</text>
@ -34,23 +34,13 @@
}; };
}, },
async onLoad() { async onLoad() {
let milliseconds = 2 * 3600 * 1000 // 7200000 await this.getList()
let timestamp = new Date().getTime()
const res = await memberOrderInfo()
const arr = res.data.map((item) => {
return {
...item,
bool:item.createTime+milliseconds>timestamp
}
})
this.memberData = arr
}, },
watch:{ watch:{
keyword :Debounce (function (){ keyword :Debounce (function (){
this.memberData.sort((a,b) =>{ this.memberData.sort((a,b) =>{
let aIndex = this.keyword.indexOf(a.userPhone) let aIndex = this.keyword.indexOf(a.userPhone)
let bIndex = this.keyword.indexOf(b.userPhone) let bIndex = this.keyword.indexOf(b.userPhone)
console.log(aIndex,bIndex)
if(aIndex > bIndex) return -1 if(aIndex > bIndex) return -1
if(aIndex < bIndex) return 1 if(aIndex < bIndex) return 1
if(a.userPhone == b.userPhone){ if(a.userPhone == b.userPhone){
@ -64,8 +54,30 @@
},1000) },1000)
}, },
methods: { methods: {
handleBack(item){
console.log(item)
uni.navigateTo({
url:`/pages/member_back/index?userPhone=${item.userPhone}&grade=${item.grade}`
})
},
async getList(){
let milliseconds = 2 * 3600 * 1000 // 7200000
let timestamp = new Date().getTime()
const res = await memberOrderInfo()
const arr = res.data.map((item) => {
return {
...item,
bool:item.createTime+milliseconds>timestamp
}
})
this.memberData = arr
},
async handleService(orderId){ async handleService(orderId){
await memberApplyRefund({orderId}) await memberApplyRefund({orderId})
this.$util.Tips({
title: '申请成功'
});
await this.getList()
} }
} }
}; };